从python中的用户指定文件导入变量

时间:2013-07-01 20:52:04

标签: python import arguments

我想从指定为参数的文件中导入变量。我如何实现这一目标?

例如:假设我的文件是myfile.py 我称之为

python myfile.py service.py

现在我想在myfile.py中导入service.py的变量。

我该怎么做?

2 个答案:

答案 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')

如果你想在那个文件中找到参数,那就有点难了。我需要了解更多有关帮助您的格式。