是的,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()
方法等待命令执行完成,并获取其返回值。