python如何执行两个脚本

python如何执行两个脚本

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:6

用户关注问题

Q
如何在Python中同时运行两个脚本?

我想在一个Python程序中启动并执行另外两个独立的Python脚本,有什么方法可以实现吗?

A

使用subprocess模块启动多个脚本

可以通过Python内置的subprocess模块来启动另外两个脚本。使用subprocess.Popen()方法分别运行两个脚本,这样它们会并行执行。例如:

import subprocess

p1 = subprocess.Popen(['python', 'script1.py'])
p2 = subprocess.Popen(['python', 'script2.py'])

这样,两个脚本会同时启动,程序不会阻塞等待其中一个完成。

Q
如何在一个Python脚本中调用另一个Python脚本的函数?

是否可以在一个Python脚本里直接调用另一个脚本中的函数,而不是简单地执行整个脚本?该怎么做?

A

将脚本转换为模块并导入使用

如果想调用另一个脚本中的函数,最佳做法是将那个脚本转换成模块,确保其中的功能被封装成函数或类。然后在当前脚本中使用import语句导入该脚本,例如:

script1.py中定义函数

def func():
print('Hello from script1')

当前脚本中调用

import script1
script1.func()

这种方式便于代码复用且结构清晰。

Q
如何捕获执行外部Python脚本时的输出结果?

在我的主程序里执行另一个Python脚本时,我想获取被执行脚本的输出信息,该怎么获取?

A

使用subprocess.run捕获输出

可以利用subprocess模块中的run函数,并设置参数capture_output=True以捕获标准输出和错误输出。示例如下:

import subprocess

result = subprocess.run(['python', 'script2.py'], capture_output=True, text=True)
print('脚本输出:', result.stdout)
print('错误信息:', result.stderr)

这样可以方便地获取被调用脚本的运行结果和相关日志。