如何从python中的另一个目录文件导入函数。甚至在该目录中有__init__.py文件?

时间:2016-04-17 08:51:17

标签: python django python-2.7

我有以下目录结构..

   |---- folder1
        |---- __init__.py
        |---- python_file1.py
   |---- folder2
        |---- __init__.py
        |---- python_file2.py

虽然我尝试像这样导入" folder2.python_file2导入some_function"。

它会出错: ImportError:无法导入名称some_function

并且我在堆栈溢出中看起来很多答案,如果没有__init__.py文件的目录,他们说要插入文件路径。但即使我有__init__.py我也无法从该目录导入函数。让我清楚这个错误。

感谢。

1 个答案:

答案 0 :(得分:1)

Python使用句点(。)运算符来引用从当前文件夹开始的目录/模块,并在每个句点的目录树中向上移动。
例如,如果要从python_file2导入文件.py和您要导入的文件包含在folder2本身中。这可以通过以下实现:from . import <filename>如果您希望从python_file2.py导入文件并且文件位于folder1中,您可以添加另一个句点(。)来移动一个目录在您的案例中,陈述将如此 - from ..folder1 import <filename>
filename python_file1.py。希望这会有所帮助。