os.system()
函数在 Python 中用于执行系统命令
subprocess
模块:subprocess
模块提供了更强大和灵活的方式来处理子进程。你可以使用 subprocess.Popen
类来运行命令并获取输入输出。以下是一个示例:
import subprocess
# 定义要执行的命令
command = "your_command_here"
# 创建一个子进程,设置 stdin、stdout 和 stderr
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
# 获取命令的输出
output, error = process.communicate()
# 等待命令执行完成
process.wait()
if process.returncode != 0:
print(f"Error occurred: {error}")
else:
print(f"Output: {output}")
input()
和 print()
函数与命令进行交互:如果你需要与正在运行的命令进行交互,例如发送输入并接收输出,你可以使用 input()
函数向命令发送数据,并使用 stdout
属性捕获输出。以下是一个示例:
import os
# 定义要执行的命令
command = "your_command_here"
# 创建一个子进程,设置 stdin 为 PIPE,以便我们可以发送输入
process = os.system(command + " < input_file.txt", shell=True, stdout=subprocess.PIPE)
# 读取命令的输出
output = process.stdout.read().decode('utf-8')
# 等待命令执行完成
process.wait()
print(f"Output: {output}")
在这个示例中,我们将输入数据放入名为 input_file.txt
的文件中,然后将其传递给命令。命令的输出将被捕获并打印出来。