Python 2.7 作为第一行获取输出的subprocess.Popen模块

Python 2.7 作为第一行获取输出的subprocess.Popen模块,python-2.7,subprocess,Python 2.7,Subprocess,我正在尝试使用子流程模块实现一个用于运行shell命令的脚本。 当我从文件中获取输入时,我只得到第一行命令的输出。 但对于不从文件中获取的单个输入,我将获得整个命令输出。” 从文件中获取输入时,读取输出时看起来有点混乱。 请建议 特定mac的脚本 import subprocess out=subprocess.Popen(["macsearch","00:23:5f:5a:56:7b"]) print(out) 输出:-它将提供完整的输出 用于从文件中获取macaddress输入的脚本 im

我正在尝试使用子流程模块实现一个用于运行shell命令的脚本。 当我从文件中获取输入时,我只得到第一行命令的输出。 但对于不从文件中获取的单个输入,我将获得整个命令输出。” 从文件中获取输入时,读取输出时看起来有点混乱。 请建议

特定mac的脚本

import subprocess
out=subprocess.Popen(["macsearch","00:23:5f:5a:56:7b"])
print(out)
输出:-它将提供完整的输出

用于从文件中获取macaddress输入的脚本

import subprocess
with open("mac.txt","r") as f:
     for line in f:
     out=subprocess.Popen(["macsearch", "line"],stdout=subprocess.PIPE)
     print(out)
对于这个脚本,我只得到输出的第1行。
请提出建议,因为我需要命令的完整输出。

据我所知
打印(out)
将打印如下内容。要将输出传递给var,您必须运行
。communicate
方法好的,我尝试了通信并获取输出,但我只获取第一行作为输出,而没有获取命令的其他行。In
out=subprocess.Popen([“macsearch”,“line”],stdout=subprocess.PIPE)
中删除引号行“
。也修复缩进。如果仍然没有帮助,请附加“mac.txt”文件的几行。非常感谢!!这很有效..脚本现在正在按预期工作。导入子进程时,将open(“mac.txt”,“r”)作为f:for行,在f:process=subprocess.Popen([“macsearch”,“line”],stdout=subprocess.PIPE)out=process.communicate()中打印(输出)