You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python执行系统命令的输出结果存储到文本文件中

解决方案

下面是两种常用的可行实现方案,你可以根据自己的使用场景选择:

方案1:直接使用Shell重定向(最简实现)

如果你不需要在Python代码中对命令输出做额外处理,直接利用Shell自带的重定向语法即可,无需引入其他依赖。
示例代码:

import os
# > 表示覆盖写入文件,需要追加内容的话替换为 >>
os.system('ls -al > output.txt')

执行后命令的所有输出会直接写入当前目录下的output.txt文件。

方案2:通过subprocess模块捕获输出后写入(适合需要预处理输出的场景)

os.system仅能返回命令的执行状态码,无法直接捕获输出内容。如果你需要先拿到输出做过滤、修改等操作再存入文件,推荐使用Python标准库自带的subprocess模块实现:
示例代码:

import subprocess

# capture_output=True表示捕获标准输出/错误,text=True表示返回字符串而非字节流
cmd_result = subprocess.run(
    ['ls', '-al'],
    capture_output=True,
    text=True
)
# 拿到命令执行的标准输出内容
output_content = cmd_result.stdout
# 如果需要同时捕获错误输出,可以将stderr合并到stdout:
# cmd_result = subprocess.run(['ls', '-al'], capture_output=True, text=True, stderr=subprocess.STDOUT)

# 写入本地文件
with open('output.txt', 'w', encoding='utf-8') as f:
    f.write(output_content)

提示:使用列表形式传入命令参数无需开启shell=True,可以避免Shell注入风险,安全性更高。


内容的提问来源于stack exchange,提问作者Vinura Yashohara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:06:05