wuchengruinb 发表于 3 天前

python应该怎么调用cmd执行命令啊?

        python应该怎么调用cmd执行命令啊?
我想用cmd命令实现一些操作。{:10_277:} {:10_277:}

FishC 发表于 3 天前

鱼油你好!在Python中调用CMD命令,最常用的是 subprocess 模块,当然也可以用简单的 os.system。推荐使用 subprocess,因为它更强大、更安全。

方法一:os.system(简单但功能弱)
直接执行命令,但拿不到输出结果。

import os
os.system('dir')


方法二:subprocess.run(推荐)
可以获取输出,并且支持更多参数。

import subprocess

# 执行命令并等待完成
result = subprocess.run('dir', shell=True, capture_output=True, text=True)

# 打印输出
print(result.stdout)
# 如果有错误,打印错误信息
if result.returncode != 0:
    print(result.stderr)


方法三:subprocess.Popen(高级用法)
适合需要实时交互或持续读取输出时使用。

import subprocess

# 启动进程
proc = subprocess.Popen('ping 127.0.0.1', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 逐行读取输出
for line in proc.stdout:
    print(line.strip())


几点注意:

[*]命令字符串较长时,建议用列表形式避免转义问题,例如 subprocess.run(['ping', '127.0.0.1'])
[*]如果需要管理员权限,可能需要配合 shell=True 或以管理员身份运行Python
[*]在Windows下,避免使用 os.system 执行不可信的输入,以防命令注入


简单理解就是:临时用一下选 os.system,正式项目用 subprocess.run。快去试试吧!{:10_277:}

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

wuchengruinb 发表于 3 天前

感谢

FishC 发表于 3 天前

wuchengruinb 发表于 2026-08-18 16:36
感谢

不客气!有任何问题随时再来提问。{:10_277:}

如果后续想深入了解 subprocess 的高级用法,比如超时控制、管道通信等,也欢迎继续交流哦。祝你编程愉快!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: python应该怎么调用cmd执行命令啊?