Python执行CMD并获取输出
在开发过程中,有时候我们需要通过Python执行CMD命令并获取输出结果。Python提供了多种方法来执行CMD命令,本文将介绍其中的一种方法,并给出相应的代码示例。
subprocess模块
Python的subprocess模块是执行外部命令的标准库。它提供了创建新进程、连接输入/输出/错误管道以及捕获输出的功能。我们可以使用subprocess模块来执行CMD命令。
subprocess模块的基本用法
下面是subprocess模块中常用的几个函数和类:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)
:运行命令,并等待命令完成。返回一个CompletedProcess
对象,其中包含命令的执行结果。subprocess.Popen(args, bufsize=-1, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=True, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=(), *, encoding=None, errors=None, text=None)
:执行命令,并立即返回一个Popen
对象,可以通过该对象来控制进程。subprocess.PIPE
:管道常量,表示子进程的标准输入、输出或错误。
示例代码
下面是一个简单的例子,展示如何使用subprocess模块执行CMD命令并获取输出:
import subprocess
# 执行CMD命令
result = subprocess.run('dir', capture_output=True, shell=True, text=True)
# 获取输出结果
output = result.stdout
# 打印输出结果
print(output)
在上面的代码中,我们使用了subprocess.run()
函数来执行dir
命令,并将capture_output
参数设置为True
,以捕获命令的输出结果。然后,我们通过result.stdout
属性获取输出结果,并将其打印出来。
运行以上代码,将会输出当前目录的文件列表。
总结
本文介绍了使用Python执行CMD命令并获取输出的方法。我们使用了subprocess模块中的subprocess.run()
函数来执行CMD命令,并通过result.stdout
属性获取输出结果。subprocess模块提供了更多的函数和类,可以满足更复杂的需求,可以根据实际情况选择适合的方法来执行CMD命令。
希望本文能帮助读者了解Python执行CMD命令的基本原理和方法,并在实际开发中能够灵活运用。如果你有任何问题或建议,请留言给我们。
参考文献
- Python官方文档:[subprocess - Subprocess management](