继续循环

Continuing the loop

好的,所以我有代码应该 运行 通过 txt 文件并 ping Ip,如果 ping 等于 0,它会对它执行 'nslookup' 然后它应该继续但在它完成终端中的第一个之后,它就留在 > 上,就好像在等待输入一样。在其他情况下,我的代码 运行s 通过 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 命令