我想将oneRunParams.py加载到我当前的程序中,但在我运行它之前不知道它在哪里。我希望将它作为输入参数,通过argv访问。我正在使用:
来自oneRunParams import *
我现在想要用仅与指定的oneRunParams的路径相同的东西替换它。
答案 0 :(得分:2)
您可以使用__import__
:
以下是test.py
:
# test.py
import sys
filename = sys.argv[1]
f = __import__(filename[:-3]) # This removes the `.py` extension
f.test()
以下是test2.py
:
# test2.py
def test():
print('hello world')
运行以下命令行:
python test.py test2.py
提供以下输出:
hello world
如果您确实要在本地范围内加载所有内容,则必须执行以下操作:
filename = sys.argv[1]
f = __import__(filename[:-3], globals(), locals(), ['*'])
for k in dir(f):
locals()[k] = getattr(f, k)
test()
答案 1 :(得分:0)
from sys import argv
使用上述声明。
fileName=argv[0]