是的,os.system() 命令可以处理输出
例如,假设您想要运行一个名为 my_script.sh 的脚本并捕获其输出:
import os
command = "my_script.sh"
output = os.system(command + " > output.txt 2>&1")
print("Command executed with return code:", output)
在这个例子中,我们将脚本的输出重定向到名为 output.txt 的文件中。然后,我们可以使用 os.system() 函数的返回值来检查命令是否成功执行。
如果您想要实时查看输出,可以使用 subprocess 模块。例如:
import subprocess
command = "my_script.sh"
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
for line in iter(process.stdout.readline, ""):
print(line.strip())
return_code = process.wait()
print("Command executed with return code:", return_code)
在这个例子中,我们使用 subprocess.Popen() 函数来运行脚本,并通过 stdout 和 stderr 参数捕获输出。然后,我们使用 iter() 函数和 process.stdout.readline() 方法逐行读取输出,并在控制台上打印出来。最后,我们使用 process.wait() 方法等待命令执行完成,并获取其返回值。