📅  最后修改于: 2023-12-03 14:49:45.775000             🧑  作者: Mango
在 Python 中运行 Python 脚本是一种常见的任务。 本文将介绍如何使用 Python 运行脚本,并获取该脚本在命令行中的输出。
Python 的 subprocess 模块可以用于在 Python 程序中运行 shell 命令或其他可执行程序,它提供了多种方法来执行命令和获取命令输出。
下面是一个基本的示例,演示如何使用 subprocess 模块运行 Python 脚本并获取命令行输出:
import subprocess
# 运行脚本
result = subprocess.run(['python', 'hello_world.py'], capture_output=True, text=True)
# 获取命令行输出
output = result.stdout.strip()
# 输出结果
print(output)
subprocess.run()
函数接受一个包含命令及其参数的列表,并在 shell 中运行该命令。在这种情况下,我们运行名为 hello_world.py
的 Python 脚本。
capture_output
参数用于捕获命令的标准输出和标准错误输出。 text
参数用于将标准输出和标准错误输出解码为文本字符串。
在运行脚本之后,我们通过 result.stdout
属性获取命令行输出,并使用 strip()
方法删除任何前导或尾随空格。
除了使用 subprocess 模块,您还可以使用 os 模块运行 Python 脚本。 在此示例中,我们将使用 os.system()
函数运行 shell 命令:
import os
# 运行脚本
os.system('python hello_world.py > output.txt')
# 读取输出文件
with open('output.txt', 'r') as f:
output = f.read()
# 输出结果
print(output.strip())
在这种情况下,我们将标准输出重定向到名为 output.txt
的文件。 然后,我们打开这个文件并读取其中的内容。最后,我们使用 strip()
方法删除任何前导或尾随空格并将输出打印到控制台上。
无论你使用哪种方法,都可以在 Python 中运行 Python 脚本,并捕获其命令行输出。使用 subprocess 模块可以获得更大的灵活性和更精确的控制,但 os 模块也是一个很好的选择。