在Python中,你可以使用`subprocess.run()`函数来运行一个外部命令,并获取其输出。你需要将`capture_output`参数设置为`True`,这样函数就会捕获标准输出和标准错误
  X5zJxoD00Cah 2023年12月11日 11 0

在Python中,你可以使用`subprocess.run()`函数来运行一个外部命令,并获取其输出。你需要将`capture_output`参数设置为`True`,这样函数就会捕获标准输出和标准错误。然后,你可以从返回的`subprocess.CompletedProcess`对象中获取输出。


以下是一个示例³:


```python

import subprocess


# 向子进程提供输入

input_data = b"input data"


# 运行脚本并捕获输出

result = subprocess.run(["python", "script.py"], input=input_data, capture_output=True)


# 获取子进程的输出结果

output_data = result.stdout

error_message = result.stderr

```


在这个例子中,`subprocess.run()`函数运行了一个名为`script.py`的Python脚本,并向其提供了输入数据。函数捕获了脚本的标准输出和标准错误,你可以从`result.stdout`和`result.stderr`中获取这些输出。


请注意,`result.stdout`和`result.stderr`返回的是字节串,如果你想要字符串形式的输出,你可以使用`.decode()`方法将其转换为字符串,例如:`output_data = result.stdout.decode('utf-8')`。


希望这个答案对你有所帮助!


源: 与必应的对话, 2023/12/11

(1) Python 使用subprocess在Windows上运行Python脚本|极客笔记. https://bing.com/search?q=subprocess.run+%e5%a6%82%e4%bd%95%e8%8e%b7%e5%8f%96%e8%bf%90%e8%a1%8c%e8%84%9a%e6%9c%ac%e8%be%93%e5%87%ba%e7%9a%84%e5%8f%98%e9%87%8f.

(2) subprocess --- 子进程管理 — Python 3.12.1 文档. https://docs.python.org/zh-cn/3/library/subprocess.html.

(3) python中subprocess模块subprocess.run,subprocess.getoutput,subprocess.Popen、subprocess.call的使用 - CSDN博客. https://blog.csdn.net/Yy_heng/article/details/127105045.

(4) Python 使用subprocess在Windows上运行Python脚本|极客笔记. https://deepinout.com/python/python-qa/218_python_using_subprocess_to_run_python_script_on_windows.html.

(5) Python 如何从subprocess.Popen()中获取输出|极客笔记. https://deepinout.com/python/python-qa/38_python_how_to_get_output_from_subprocesspopen_procstdoutreadline_blocks_no_data_prints_out.html.

(6) python - 即时从 python 中的 subprocess.run() 获取输出 - IT工具网. https://www.coder.work/article/5052782.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月11日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   14   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   17   0   0 Python.net
X5zJxoD00Cah