Python:使用 stdout 捕获 subprocess.call 的输出

标签 python

所以我试图保存我的 subprocess.call 的输出,但我不断收到以下错误: AttributeError: 'int' 对象没有属性 'communicate'

代码如下:

p2 = subprocess.call(['./test.out', 'new_file.mfj', 'delete1.out'], stdout = PIPE)
output = p2.communicate[0]

最佳答案

您正在寻找 subprocess.Popen() 而不是 call()

您还需要将其更改为p2.communicate()[0]

关于Python:使用 stdout 捕获 subprocess.call 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713983/

相关文章:

Python-np.random.choice

python - 如何在 python 中使用 paramiko 将输入发送到命令?

python - 如何在 bottlepy 中安全地检查上传文件的大小?

python - 通过 Cython(回调)将 Python 函数应用于 std::vector

python - 运行子进程并将输出打印到日志记录

python - 为什么显示退出状态 1?

python - 使用 Postgres 的 SQLAlchemy 中两个日期之间的平均天数

python - 如何修复 imdb.load_data() 函数的 'Object arrays cannot be loaded when allow_pickle=False'?

python - 在一组元组中找到最小值时如何忽略负数?

python - 如何从 pandas DataFrame 中获取 "unpivot"特定列?