如何在python中导入双扩展文件

时间:2015-04-08 06:57:11

标签: python python-import

我有一个名为

的python文件
default.properties.py

如何成功将其作为模块导入,我试过

import default.properties as prop

但是在我将名称更改为default.py之前它没有用,Id喜欢用两个扩展名保留名称,这可能吗?

2 个答案:

答案 0 :(得分:3)

您可以使用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"    

答案 1 :(得分:0)

文件名只能有一个扩展名。您的文件的扩展名为py。基本名称为default.properties

你想写

import default.properties

这是可能的,但它要求您创建名为default的{​​{3}}和名为properties的该包的子模块。

请注意,这涉及制作名为default的目录,其中包含名为__init__.pyproperties.py的文件。

您无法使用import语句导入基本名称包含句点的文件中的模块。这是因为文件的基本名称必须是有效的Python标识符。

换句话说,您无法为文件default.properties.py命名,但您可以使用包机制来编写

import default.properties