Python中文
首页
教程
问答
标签
搜索
登录
注册
Python2.7每次通过循环返回值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我要做的是为nmap指定一个要扫描的IP地址范围,比如说(192.168.0.0-50),对于它扫描的每个IP,我需要在不同的函数中使用输出。你知道吗</p> <p>下面是我正在做的一些代码:</p> <pre><code>def revLookup(ips): revCmd = "nmap -R -sP " + ips revargs = shlex.split(revCmd) revOut = subprocess.Popen(revargs, shell=False, stdout=subprocess.PIPE) for rline in revOut.stdout: if "Nmap scan report for " in rline: nmapNmIp = rline.strip("Nmap scan report for") rname, rip = nmapNmIp.split(" ")[0], nmapNmIp.split(" ")[-1] if rname.strip() == rip.strip(): rname = "NO Name Provided" revNmapName = rname.split('.', 1)[0] rip = re.sub('[\(\)]', '', rip.strip()) elif "MAC Address: " in rline: rnmapmac = rline.split(': ', 1)[-1] rnmapmac = rnmapmac.split(" ")[0] return revNmapName, rip, rnmapmac </code></pre> <p>返回的值只是列表中的最后一个值。 我还有其他函数使用各种值来创建其他信息,但我需要逐个生成这些信息。如果我创建一个长而混乱的函数,我知道这不是正确的方法。你知道吗</p> <p>谢谢你的建议。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在循环中的每次之后“return”的答案是yield,但是让函数使用单个ip并在ip上迭代可能更好:</p> <pre><code>def my_function(ip): new_data = dosomething return new_data for ip in ips: result = my_function(ip) </code></pre> <p>另外,对于使用Nmap,您应该研究python Nmap,它非常好。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
8 回答
将Pandas数据帧转换为scipy稀疏矩阵
3 回答
将Pandas数据帧转换为Spark Datafram时出现问题
9 回答
将pandas数据帧转换为spark DataFram时出错
4 回答
将Pandas数据帧转换为spark datafram时收到错误
7 回答
将Pandas数据帧转换为Spark数据帧
2 回答
将Pandas数据帧转换为Tensorflow数据
6 回答
将Pandas数据帧转换为tkinter obj
2 回答
将pandas数据帧转换为XML
8 回答
将Pandas数据帧转换为值sql语句
8 回答
将pandas数据帧转换为元组
8 回答
将pandas数据帧转换为元组列表
8 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
6 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
5 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
3 回答
将pandas数据帧转换为内存中类似文件的对象?
5 回答
将Pandas数据帧转换为内存功能(&F)
8 回答
将pandas数据帧转换为列表列表
5 回答
将pandas数据帧转换为列表列表以输入到RNN
7 回答
将Pandas数据帧转换为单行DataFram
9 回答