Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 继续循环_Python 2.7_Loops_Ping_Python 2.6_Nslookup - Fatal编程技术网

Python 2.7 继续循环

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

好的,我有一段代码,应该是通过一个txt文件运行的,如果ping等于0,它会对Ip执行“nslookup”,然后它应该继续,但在它执行终端中的第一个之后,它会留在>上,好像在等待输入。在其他情况下,我的代码可以很好地通过txt文件运行,但一旦我添加了“nslookup”,它就会在第一个文件之后停止并等待输入

有没有办法让它继续在txt文件中循环,直到结束

这是我正在使用的代码,我知道还有其他方法可以查找Ip地址,但在这种情况下,我尝试使用“nslookup”,除非这是不可能的

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时使用它。非常感谢,尽管这非常有帮助。