2024-05-22 09:36:58 发布
网友
下面的代码产生的ip收益比在cmd中执行arp -a要小
cmd
arp -a
arpA_req = Popen('arp -a', stdin=PIPE, stdout=PIPE, stderr=STDOUT) line = arpA_req.stdout.readline().decode('ascii').rsplit() print(line)
有人知道为什么会这样吗?如果这是一个常见的问题,我如何获得一个更完整的ip列表?在
正如wim指出的,readline()只读取一行。 要读取所有输出,一种方法是调用communicate:
import subprocess PIPE, STDOUT = subprocess.PIPE, subprocess.STDOUT arpA_req = subprocess.Popen( ['arp', '-a'], stdin=PIPE, stdout=PIPE, stderr=STDOUT) out, err = arpA_req.communicate() print(out)
或者,要一次处理一行,标准的习惯用法是使用iter(func, stop_value):
正如wim指出的,readline()只读取一行。 要读取所有输出,一种方法是调用communicate:
或者,要一次处理一行,标准的习惯用法是使用iter(func, stop_value):
^{pr2}$相关问题 更多 >
编程相关推荐