Python 2.7 继续循环
好的,我有一段代码,应该是通过一个txt文件运行的,如果ping等于0,它会对Ip执行“nslookup”,然后它应该继续,但在它执行终端中的第一个之后,它会留在>上,好像在等待输入。在其他情况下,我的代码可以很好地通过txt文件运行,但一旦我添加了“nslookup”,它就会在第一个文件之后停止并等待输入 有没有办法让它继续在txt文件中循环,直到结束 这是我正在使用的代码,我知道还有其他方法可以查找Ip地址,但在这种情况下,我尝试使用“nslookup”,除非这是不可能的Python 2.7 继续循环,python-2.7,loops,ping,python-2.6,nslookup,Python 2.7,Loops,Ping,Python 2.6,Nslookup,好的,我有一段代码,应该是通过一个txt文件运行的,如果ping等于0,它会对Ip执行“nslookup”,然后它应该继续,但在它执行终端中的第一个之后,它会留在>上,好像在等待输入。在其他情况下,我的代码可以很好地通过txt文件运行,但一旦我添加了“nslookup”,它就会在第一个文件之后停止并等待输入 有没有办法让它继续在txt文件中循环,直到结束 这是我正在使用的代码,我知道还有其他方法可以查找Ip地址,但在这种情况下,我尝试使用“nslookup”,除非这是不可能的 import os
import os
with open('test.txt','r') as f:
for line in f:
response = os.system("ping -c 1 " + line)
if response == 0:
print os.system('nslookup')
else:
print(line, "is down!")
这只是因为您忘记将参数传递给
nslookup
当您不传递任何参数时,程序将使用自己的shell以交互模式启动
L:\so>nslookup
Default server : mydomain.server.com
Address: 128.1.34.82
>
但是使用os.system
无法获得命令的输出。为此你需要
output = subprocess.check_output(['nslookup',line.strip()])
print(output) # or do something else with it
当我输入os.system('nslookup{}.format(line.strip()))时,我得到的是文件“”,第5行,在ValueError:zero length字段名,格式很有趣,它以2.7的原始方式工作,但系统将在运行2.6时使用它。非常感谢,尽管这非常有帮助。