我正在尝试制作一个PY 2.7.x代码,应该ping几个地址 我有一个列表,其中包含两个IP添加。但是只有最后一个被捏了?
import subprocess
ip = ["10.0.2.5", "8.8.8.8"]
for i in range(len(ip)):
ping_process = subprocess.Popen(['ping', '-c', '1'] + ip, stdout=subprocess.PIPE)
stdout = ping_process.stdout.read()
print stdout
答案 0 :(得分:0)
首先,您尝试将字符串添加到列表中,但这不起作用。
>>> ["23123"] + "4234"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list
您需要使用.append()来添加元素,但在这种情况下,只需在创建元素时使用该元素。
对于更好的变量名称,可能从未遇到过这个问题,请考虑以下内容。
import subprocess
list_of_ips = ["10.0.2.5", "8.8.8.8"]
for ip in list_of_ips:
ping_process = subprocess.Popen(['ping', '-c', '1', ip], stdout=subprocess.PIPE)
stdout = ping_process.stdout.read()
print stdout