在Python中,你可以使用subprocess
模块来执行外部命令并处理其输出结果
import subprocess # 执行外部命令 command = "echo 'Hello, World!'" process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) # 获取命令的输出结果 stdout, stderr = process.communicate() # 将输出结果从字节转换为字符串 stdout_str = stdout.decode('utf-8') stderr_str = stderr.decode('utf-8') print("Output:", stdout_str) print("Error:", stderr_str) # 等待命令执行完成 return_code = process.wait() print("Return code:", return_code)
在这个示例中,我们使用subprocess.Popen
执行了一个简单的echo
命令。stdout
和stderr
参数分别用于捕获命令的标准输出和标准错误输出。shell=True
表示我们在一个shell环境中执行这个命令。
process.communicate()
方法用于等待命令执行完成并获取输出结果。这个方法返回一个包含标准输出和标准错误输出的元组。我们可以使用decode()
方法将输出结果从字节转换为字符串。
最后,我们使用process.wait()
方法等待命令执行完成并获取返回代码。