Python调用另一个py文件的核心方法是通过import语句导入模块,关键亮点包括:直接导入整个模块、选择性导入特定函数/变量、以及动态导入技术。 这些方式能实现代码复用、功能拆分和灵活加载,是模块化开发的基础。
-
import直接导入模块
使用import 模块名
(不带.py后缀)可调用同目录下的文件,通过模块名.函数名()
访问其内容。若文件不在当前目录,需在目标路径中添加sys.path.append("路径")
或配置PYTHONPATH环境变量。 -
from...import精准导入
通过from 模块名 import 函数/变量
仅加载所需部分,减少内存占用。例如from utils import calculate
可直接调用calculate()
而无需模块前缀,但需注意命名冲突风险。 -
动态导入importlib
需运行时决定导入内容时,可用importlib.import_module("模块名")
动态加载。适用于插件化系统或根据配置切换不同实现,例如module = importlib.import_module("plugins." + name)
。 -
exec或runpy执行文件
非模块化场景下,可用exec(open("file.py").read())
直接解析代码,或runpy.run_path()
运行文件并获取全局变量。但此类方法可能引发安全问题,慎用。
合理选择调用方式能提升代码可维护性,建议优先使用标准import机制,动态导入时注意异常处理,跨目录操作确保路径正确性。