温馨提示×

python外部命令如何调用系统命令

小樊
81
2024-12-12 02:52:40
栏目: 编程语言

在Python中,你可以使用subprocess模块来调用外部命令

import subprocess

# 使用subprocess.run()执行外部命令
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)

# 打印执行结果
print(result.stdout)

在这个例子中,我们使用subprocess.run()函数执行了ls -l命令。capture_output=True表示我们希望捕获命令的输出,而text=True表示我们希望将输出作为文本处理(而不是字节)。

subprocess.run()返回一个subprocess.CompletedProcess对象,它包含了命令的返回码、标准输出和标准错误等信息。在这个例子中,我们只打印了标准输出。

如果你需要执行更复杂的命令,可以使用subprocess.Popen类。这里有一个例子:

import subprocess

# 创建一个Popen对象
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 获取命令的输出
stdout, stderr = process.communicate()

# 打印执行结果
print(stdout)
print(stderr)

# 检查命令是否成功执行
if process.returncode == 0:
    print("Command executed successfully.")
else:
    print("Command execution failed.")

在这个例子中,我们使用subprocess.Popen创建了一个子进程来执行ls -l命令。我们使用stdoutstderr参数将命令的输出重定向到管道,然后使用communicate()方法获取输出。最后,我们检查命令的返回码以确定它是否成功执行。

0