Python subprocess.popen 返回空字符串

标签 python subprocess

import subprocess
cd=['sudo','./interface','-a','</tmp/vol.js']
p = subprocess.Popen(cd, stdout = subprocess.PIPE,stderr=subprocess.PIPE, stdin=subprocess.PIPE)

上面的代码返回 null,但是当我运行相同的命令时,即 sudo ./interface -a </tmp/vol.js工作完全正常

最佳答案

你能试试这个吗?

import subprocess
cd = ['sudo','./interface','-a','</tmp/vol.js']
cd_cmd = " ".join(cd)
o, e = subprocess.Popen(cd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()

输出存储在变量“o”中,stderr 存储在“e”中

关于Python subprocess.popen 返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511940/

相关文章:

Python Selenium - 类似身份验证的警报弹出窗口

python - 带有 "Abort trap: 6"错误的简单 Tkinter 程序

python - 如何将文件夹添加到给定 Anaconda 环境的搜索路径?

python - scipy.io.wavfile.read() 来自 FFmpeg 的标准输出

Python subprocess.Popen + ffmpeg 中断终端输入

python - 如何获得subprocess.check_output()函数返回的错误?

Python:x==y 和 x.__eq__y() 返回不同内容的情况。为什么?

python - Groupby 使用列和索引,然后求和以创建新列

python - 如何统一stdout和stderr,同时又能够区分它们?

python - 如何使用 Python 捕获 subprocess.call 错误?