导入动态创建的Python文件

2 python import

我正在通过运行python程序的过程创建python文件.然后我想导入这些文件并运行在其中定义的函数.我创建的文件没有存储在我的路径变量中,我宁愿保持这种方式.

最初我调用execFile(<script_path>)函数然后调用执行文件定义的函数.这有一个副作用,总是进入if __name__ == "__main__"条件,这与我目前的设置,我不可能发生.

我无法更改生成的文件,因为我已经创建了100个文件,并且不想全部修改它们.我只能更改调用生成的文件的文件.

基本上我现在拥有的......

#<c:\File.py>
def func(word):
   print word

if __name__ == "__main__":
   print "must only be called from command line"
   #results in an error when called from CallingFunction.py
   input = sys.argv[1]

#<CallingFunction.py>
#results in Main Condition being called
execFile("c:\\File.py")
func("hello world")
Run Code Online (Sandbox Code Playgroud)

Mar*_*wis 5

使用

m = __import__("File")
Run Code Online (Sandbox Code Playgroud)

这与做的基本相同

import File
m = File
Run Code Online (Sandbox Code Playgroud)