首页 >后端开发 >Python教程 >如何通过标准输入正确地将字符串传递给`subprocess.Popen`?

如何通过标准输入正确地将字符串传递给`subprocess.Popen`?

DDD
DDD原创
2024-12-05 09:54:12561浏览

How to Correctly Pass Strings to `subprocess.Popen` via stdin?

通过 stdin 将字符串传递给 subprocess.Popen

问题

尝试将 StringIO 与 subprocess.Popen 用于 stdin 会导致AttributeError.

错误

Traceback 突出显示 cStringIO.StringIO 与 subprocess.Popen 所需的 fileno() 方法不兼容。

解决方案

subprocess.Popen 文档需要使用 stdin=PIPE 进行数据传输标准输入。推荐使用 os.popen() 替换语法:

示例

改编原始代码:

Python 3.5 解决方案

对于 Python 3.5 :

以上是如何通过标准输入正确地将字符串传递给`subprocess.Popen`?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn