我想从指定为参数的文件中导入变量。我如何实现这一目标?
例如:假设我的文件是myfile.py 我称之为
python myfile.py service.py
现在我想在myfile.py中导入service.py的变量。
我该怎么做?
答案 0 :(得分:2)
在myfile.py
内插入__import__
module = __import__(sys.argv[1].replace('.py', ''))
会将第一个命令行参数导入为module
,然后您可以将其用作导入的任何其他模块。 __import__
的返回值是一个模块。
真的在python中,import mod
只是mod = __import__('mod')
的简写,如果您这样做,可以调用__import__
函数。
一个例子:
>>> module = __import__("math") #same as "import math as module"
>>> module.sqrt(16)
4.0
如果您希望使用命令行参数的内容污染全局命名空间,可以在此处阅读有关如何执行from *
导入的信息:
How does one do the equivalent of "import * from module" with Python's __import__ function?
答案 1 :(得分:0)
您可能会问两个问题。可能是如何从命令行导入要处理的文件?你可以得到像这样的字符串
fileName = sys.argv(1)
fileHandle = open(fileName, 'r')
如果你想在那个文件中找到参数,那就有点难了。我需要了解更多有关帮助您的格式。