我正在尝试在Python 2.7.5中运行以下代码:
output = subprocess.check_output(commandList)
print (len(output))
Run Code Online (Sandbox Code Playgroud)
我的命令列表是一个参数列表,如:['ls',' - l'].
但是,即使我有一个很长的输出字符串,我得到的输出长度为0.check_output虽然可以正常工作,因为我可以看到在stdout(控制台)中运行的进程的结果.
理想的用例是运行子进程,隐藏stdout(在控制台中看不到任何内容),解析输出字符串并提取一些相关信息.
zwo*_*wol 10
这应该可以工作,但是你正在运行的实际命令(可能不是ls)有可能是错误的并且将所有输出发送到stderr而不是stdout.尝试
output = subprocess.check_output(commandList, stderr=subprocess.STDOUT)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |