在 Python 中,可以使用内置模块如 `os` 或 `subprocess` 来执行 Windows 命令。下面是一些常见的示例:

1. 使用 `os` 模块:

python

import os

python执行windows命令  第1张

查看当前目录中的所有文件

os.system('dir')

请注意,`os.system()` 将输出传递给控制台,并返回命令的退出状态(通常为0或非0)。这种方式适用于简单的系统调用,不推荐用于捕获输出。

2. 使用 `subprocess` 模块:

执行命令并打印输出:

python执行windows命令  第2张

python

import subprocess

output = subprocess.run(['dir'], stdout=subprocess.PIPE, text=True, shell=True)

print(output.stdout)

python执行windows命令  第3张

执行命令但不打印直接捕获返回代码:

python

import subprocess

python执行windows命令  第4张

result = subprocess.run(['shutdown', '/s'], check=False) 调度关机

if result.returncode != 0:

print("Command failed")

python执行windows命令  第2张

高级示例:带参数运行命令:

python

python执行windows命令  第6张

import subprocess

p = subprocess.Popen(["ping", "127.0.0.1"], stdin=subprocess.PIPE,

stdout=subprocess.PIPE,

stderr=subprocess.PIPE,

python执行windows命令  第7张

shell=True)

stdout_data, stderr_data = p.communicate() 读取输出和错误

print(stdout_data.decode())

print(stderr_data.decode())

python执行windows命令  第8张

if p.returncode == 0:

print("Ping successful.")

else:

print("Error: ping returned code {}".format(p.returncode))

python执行windows命令  第9张

`shell=True`

注意:当需要传递复杂字符串(特别是包含多个命令分隔或管道)时,请确保设置了参数 `shell=True`。

这会启动系统的 shell 来解析该字符串并调用对应的程序/进程。

python执行windows命令  第10张

不过要注意,如果 `shell=True` 使用不当可能会存在一些安全隐患。尤其是处理不可信数据时要格外小心,否则可能会产生代码注入攻击。

综上,对于日常简单的操作,使用更安全的 `subprocess` 应当成为默认选择。而更复杂的任务或需要执行系统级别指令的情况下,才建议选用这种方式并适当评估风险。