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
的文件中,然后将其传递给命令。命令的输出将被捕获并打印出来。