鱼C论坛

 找回密码
 立即注册
查看: 10|回复: 3

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

[复制链接]
发表于 前天 11:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        python应该怎么调用cmd执行命令啊?
我想用cmd命令实现一些操作。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 前天 11:21 | 显示全部楼层
鱼油你好!在Python中调用CMD命令,最常用的是 subprocess 模块,当然也可以用简单的 os.system。推荐使用 subprocess,因为它更强大、更安全。


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

  1. import os
  2. os.system('dir')
复制代码


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

  1. import subprocess

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

  4. # 打印输出
  5. print(result.stdout)
  6. # 如果有错误,打印错误信息
  7. if result.returncode != 0:
  8.     print(result.stderr)
复制代码


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

  1. import subprocess

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

  4. # 逐行读取输出
  5. for line in proc.stdout:
  6.     print(line.strip())
复制代码


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 16:36 | 显示全部楼层
感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 前天 16:37 | 显示全部楼层


不客气!有任何问题随时再来提问。  

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-8-20 23:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表