复制
收藏
提问
全网
怎么使用 Python 脚本调用外部命令?
5月前
理解问题怎么使用 Python 脚本调用外部命令?
已完成理解「怎么使用 Python 脚本调用外部命令?」
展开阅读网页
在Python中,你可以使用subprocess
模块来调用外部命令。subprocess
模块允许你启动新的进程、连接到它们的输入/输出/错误管道,并且获取它们的返回码。以下是一些基本的使用方法:
1. 使用 subprocess.run()
subprocess.run()
是一个高级接口,用于执行指定的命令。它返回一个CompletedProcess
实例。
import subprocess
# 执行命令并捕获输出
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print('Return code:', result.returncode)
print('Output:\n', result.stdout)
2. 使用 subprocess.Popen()
subprocess.Popen()
是一个更底层的接口,它提供了更多的控制。
import subprocess
# 创建子进程
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, text=True)
# 读取输出
output, error = process.communicate()
print('Return code:', process.returncode)
print('Output:\n', output)
3. 使用 os.system()
虽然os.system()
是一个更简单的方法来执行命令,但它不如subprocess
模块灵活和强大。
import os
# 执行命令
return_code = os.system('ls -l')
print('Return code:', return_code)
注意事项
- 使用
subprocess.run()
时,capture_output=True
允许你捕获命令的标准输出和标准错误。 text=True
参数使得输出以文本形式返回,而不是字节。subprocess.Popen()
提供了更多的控制,例如可以设置stdin
、stdout
和stderr
。- 确保处理异常和错误,例如使用
try...except
块来捕获可能的异常。
这些是调用外部命令的基本方法。根据你的具体需求,你可以选择最适合的方法。
更简洁一些
转笔记