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

如何将命令提示符输出内容完整复制到TXT文件?

解决os.system执行命令只返回退出码的问题

os.system()返回的是命令的退出状态码,0就代表命令执行成功,它不会捕获命令本身的输出内容——你看到的netstat -ano结果是直接打印到控制台的,而你print的只是这个命令的执行状态码。

要捕获命令输出并保存到文件,推荐用Python的subprocess模块(比os.system更强大、更灵活),给你几个实用的写法:

方法1:捕获标准输出并保存(Python 3.5+推荐)

import subprocess

# 执行命令并捕获输出,text=True让输出以字符串形式返回
result = subprocess.run('netstat -ano', stdout=subprocess.PIPE, text=True)
# 打印命令输出
print(result.stdout)
# 将输出写入文件
with open('netstat_result.txt', 'w', encoding='utf-8') as f:
    f.write(result.stdout)

方法2:用check_output捕获输出(命令失败会抛出异常)

import subprocess

# 直接获取命令输出,同样用text=True转成字符串
output = subprocess.check_output('netstat -ano', text=True)
print(output)
# 写入文件
with open('netstat_result.txt', 'w', encoding='utf-8') as f:
    f.write(output)

方法3:同时捕获标准输出和错误输出

如果需要排查命令执行中的错误,可以同时捕获stderr:

import subprocess

result = subprocess.run('netstat -ano', stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
print("命令输出:")
print(result.stdout)
print("\n错误信息:")
print(result.stderr)
# 把完整内容写入文件
with open('netstat_full_log.txt', 'w', encoding='utf-8') as f:
    f.write("命令输出:\n")
    f.write(result.stdout)
    f.write("\n错误信息:\n")
    f.write(result.stderr)

注意:如果是Linux/macOS系统,netstat的参数可能和Windows不同,但捕获输出的逻辑完全一致。

内容的提问来源于stack exchange,提问作者Tyler Eckhardt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:44:57