You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中运行另一个文件?

嘿,我来给你梳理几个实用的方法,帮你在一个Python文件里运行另一个文件的代码,上手很简单的~

方法1:直接import目标文件

这是Python里最常规的做法,import机制本身就会执行被导入文件的顶层代码。假设你的目标文件叫target.py,内容是:

a = 1
print(a)

那你在另一个文件(比如runner.py)里只需要写一行:

import target

运行runner.py的时候,target.py里的代码就会自动执行,终端会输出1。

⚠️ 小提醒:Python会缓存已导入的模块,所以重复import不会重复执行代码。如果需要多次运行目标文件的内容,可以用importlib.reload():

import target
import importlib

importlib.reload(target)  # 这会再次执行target.py的代码
方法2:用exec()读取并执行文件内容

如果你不想通过import引入目标文件的变量到当前环境,或者只是临时执行一次,那就可以先读取文件内容,再用exec()函数执行。示例代码如下:

# 打开目标文件并读取全部内容
with open('target.py', 'r', encoding='utf-8') as f:
    file_code = f.read()

# 执行读取到的代码
exec(file_code)

这样运行后同样会输出1,而且每次执行这段代码都会重新读取并运行目标文件的内容,不会有缓存问题。

方法3:用subprocess模块启动独立进程运行

这种方式相当于在终端里手动敲python target.py,会启动一个独立的Python进程来运行目标文件,适合需要捕获输出、处理命令行参数的场景。示例代码:

import subprocess

# 注意:如果你的系统里Python解释器叫python3,就把'python'换成'python3'
run_result = subprocess.run(['python', 'target.py'], capture_output=True, text=True)

# 打印目标文件的输出内容
print("目标文件的输出:", run_result.stdout)  # 会输出"目标文件的输出: 1\n"
# 如果运行出错,还可以查看错误信息
# print("错误信息:", run_result.stderr)

内容的提问来源于stack exchange,提问作者Liam Hall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 08:37:34