Python执行cmd

1. 前言
在日常的编程工作中,我们经常需要与操作系统进行交互,执行一些命令行操作。Python提供了多种方法来执行命令行指令,方便我们在代码中完成一些系统相关的操作。本文将详细介绍Python中执行cmd的方法,包括直接执行cmd指令、shell脚本和PowerShell等。
2. 执行cmd指令
Python提供了os模块来执行cmd指令。os.system()函数可以在命令行中执行一个命令,并返回执行结果。例如,我们可以使用os.system("dir")来执行dir指令,获取当前目录下的文件列表。
下面是一个简单的示例代码:
import os
# 执行cmd指令
result = os.system("dir")
print(result)
运行结果如下:
C:\Users\user\Desktop>python demo.py
驱动器 C 中的卷是 OS
卷的序列号是 ******-****
C:\Users\user\Desktop 的目录
2021/02/23 10:04 <DIR> .
2021/02/23 10:04 <DIR> ..
2021/02/23 10:04 0 demo.py
2021/02/23 09:46 <DIR> images
1 个文件 0 字节
3 个目录 37,656,221,184 可用空间
os.system()函数会返回执行结果的退出状态码。一般情况下,如果执行成功,返回值为0;如果执行失败,返回值为非零。
3. 执行shell脚本
除了直接执行cmd指令,我们还可以执行shell脚本。Python提供了subprocess模块来执行shell脚本,可以更为灵活地进行命令行操作。
下面是一个示例代码,演示了如何使用subprocess模块执行shell脚本:
import subprocess
# 执行shell脚本
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)
运行结果如下:
total 8
-rwxrwxr-x@ 1 user staff 1508 Feb 23 10:04 demo.py
drwxrwxr-x@ 3 user staff 96 Feb 23 09:46 images
subprocess.run()函数用于执行一个子进程,传入的参数是一个命令行指令的列表。capture_output=True表示捕获子进程的输出,text=True表示输出为文本字符串。
4. 执行PowerShell指令
如果你在Windows系统上使用Python,可能需要执行PowerShell指令。Python的subprocess模块同样可以执行PowerShell指令,只需要指定shell=True即可。
下面是一个示例代码,演示了如何执行PowerShell指令:
import subprocess
# 执行PowerShell指令
result = subprocess.run(["powershell", "Get-ChildItem"], capture_output=True, text=True)
print(result.stdout)
运行结果如下:
目录: C:\Users\user\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2021/2/23 10:04 demo.py
d----- 2021/2/23 9:46 images
需要注意,Windows系统上使用subprocess.run()执行PowerShell指令时,命令行参数需要使用powershell作为程序名,并将指令放在列表中传入。
5. 结语
本文介绍了在Python中执行cmd的方法,包括直接执行cmd指令、shell脚本和PowerShell等。通过这些方法,我们可以在Python代码中方便地执行命令行操作。根据实际需求,选择合适的方法来执行cmd指令,可以提高编程效率。
极客教程