python应该怎么调用cmd执行命令啊?
python应该怎么调用cmd执行命令啊?我想用cmd命令实现一些操作。{:10_277:} {:10_277:} 鱼油你好!在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 发表于 2026-08-18 16:36
感谢
不客气!有任何问题随时再来提问。{:10_277:}
如果后续想深入了解 subprocess 的高级用法,比如超时控制、管道通信等,也欢迎继续交流哦。祝你编程愉快!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]