如何在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
相关产品推荐
相关产品推荐

