如何从不同Python文件导入并调用同名main函数
解决Python多脚本同名main()方法调用问题
你可以通过两种简单方式在同一个脚本里调用多个文件的同名main()方法:
方法一:按模块名调用
直接把每个脚本作为模块导入,然后通过「模块名.main()」的方式区分调用,因为每个模块的命名空间是独立的,同名函数不会冲突。
新建一个run_all.py文件,写入以下代码:
import file1 import file2 # 依次执行各个脚本的main方法 file1.main() file2.main()
方法二:导入时重命名函数
如果不想每次写模块名,也可以在导入时给每个main方法起别名,这样调用时直接用别名即可:
from file1 import main as run_file1 from file2 import main as run_file2 run_file1() run_file2()
额外说明
- 要保证
file1.py、file2.py和你的主调用脚本在同一个文件夹里,或者已经被Python的搜索路径包含,不然会报错找不到模块。 - 每个脚本里的
if __name__ == '__main__':判断不会干扰导入后的调用——因为模块被导入时,__name__会变成模块本身的名字,而不是__main__,所以这段代码只会在直接运行该脚本时才触发。
内容的提问来源于stack exchange,提问作者arve
相关产品推荐
相关产品推荐

