gpt4 book ai didi

python - 使用 Python 实现 ping

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:51 24 4
gpt4 key购买 nike

我正在尝试对一系列服务器执行 ping 操作,并且我想存储 ping 操作的输出。据我所知。

import subprocess

string_part = 'ping -W 2 -c 2 64.233.'

for i in range(160,165):
for j in range(0,5):
prompt = string_part + str(i) + '.' + str(j)
result = subprocess.call(prompt, shell = True)

我想如果我在这之后给出“print(result)”,它会打印出结果。但是,它只返回 1。我现在不想使用线程。我想我错过了什么! :(

最佳答案

subprocess.call() 返回进程的退出代码。要获取 ping 命令的标准输出输出,请使用 pipePopen.communicate()相反:

string_part = 'ping -W 2 -c 2  64.233.{}.{}'

for i in range(160, 165):
for j in range(5):
prompt = string_part.format(i, j)
proc = subprocess.Popen(prompt, shell=True, stdout=subprocess.PIPE)
result, _ = proc.communicate()

您可以而且应该避免使用 shell;只需传入列表中的参数:

command = ['ping', '-W', '2', '-c', '2']  
ip_template = '64.233.{}.{}'

for i in range(160, 165):
for j in range(5):
ip_address = ip_template.format(i, j)
proc = subprocess.Popen(command + [ip_address], stdout=subprocess.PIPE)
result, _ = proc.communicate()

关于python - 使用 Python 实现 ping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com