Python执行cmd

Python执行cmd

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)
Python

运行结果如下:

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 可用空间
Python

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)
Python

运行结果如下:

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
Python

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)
Python

运行结果如下:

    目录: C:\Users\user\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2021/2/23     10:04                demo.py
d-----        2021/2/23      9:46                images
Python

需要注意,Windows系统上使用subprocess.run()执行PowerShell指令时,命令行参数需要使用powershell作为程序名,并将指令放在列表中传入。

5. 结语

本文介绍了在Python中执行cmd的方法,包括直接执行cmd指令、shell脚本和PowerShell等。通过这些方法,我们可以在Python代码中方便地执行命令行操作。根据实际需求,选择合适的方法来执行cmd指令,可以提高编程效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册