如何在python中导入双扩展名文件
我有一个python文件,名为如何在python中导入双扩展名文件,python,python-import,Python,Python Import,我有一个python文件,名为 default.properties.py 如何才能成功地将其作为模块导入,我尝试了 import default.properties as prop 但是,直到我将名称更改为default.py,它才起作用,我想保留带有两个扩展名的名称,这可能吗?您可以使用imp import imp mymodule = imp.load_source('default.properties','default.properties.py') >>>m
default.properties.py
如何才能成功地将其作为模块导入,我尝试了
import default.properties as prop
但是,直到我将名称更改为default.py,它才起作用,我想保留带有两个扩展名的名称,这可能吗?您可以使用
imp
import imp
mymodule = imp.load_source('default.properties','default.properties.py')
>>>mymodule.variable
"i am variable in default.properties.py"
或
mymodule = imp.load_module('default.properties',
open('default.properties.py'),
os.path.abspath('default.properties.py'),
('.py', 'r', imp.PY_SOURCE))
>>>mymodule.variable
"i am variable in default.properties.py"
文件名只能有一个扩展名。您的文件具有扩展名
py
。基本名称为default.properties
你想写作吗
import default.properties
这是可能的,但它要求您设置一个名为的默认值
,以及该包的一个子模块名为属性
请注意,这涉及到创建一个名为的默认目录
,其中包含名为\uuu init\uuuuuuuuuuupy
和属性.py
的文件
不能使用import语句导入基名称包含句点的文件中的模块。这是因为文件的基名称必须是有效的Python标识符
换句话说,您不能将文件命名为default.properties.py
,但可以使用包机制来允许您编写
import default.properties
请参阅命名约定,强烈建议不要在文件名中使用句点,而应使用下划线。我理解如果这是其他人的模块,您别无选择,只是在Python 3.1中的未来参考,它是
mymodule=importlib.machine.SourceFileLoader('default.properties','default.properties.py')。load_module()
。在Python 3.4中,load_module()
被弃用。