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问题
无法使用Django restfram生成PDF
5 回答
无法使用Django Rest框架发送压缩的gzip数据
6 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
5 回答
无法使用Django、Python和JavaScrip触发onclick函数
7 回答
无法使用Django.views.generic.View保存表单
4 回答
无法使用Django(python 2.7,OS X 10.11.1)
6 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
6 回答
无法使用Django\u mssql\u后端迁移到外部hos
9 回答
无法使用Django&Python3.4连接到MySql
1 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
2 回答
无法使用Django1.7和mongodb登录管理站点
1 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
10 回答
无法使用Djangockedi验证CBV中的字段
10 回答
无法使用Djangocketditor上载图像(错误400)
9 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
4 回答
无法使用Djangomssql provid
4 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
7 回答