我有以下目录结构..
|---- folder1
|---- __init__.py
|---- python_file1.py
|---- folder2
|---- __init__.py
|---- python_file2.py
虽然我尝试像这样导入" folder2.python_file2导入some_function"。
它会出错: ImportError:无法导入名称some_function
并且我在堆栈溢出中看起来很多答案,如果没有__init__.py
文件的目录,他们说要插入文件路径。但即使我有__init__.py
我也无法从该目录导入函数。让我清楚这个错误。
感谢。
答案 0 :(得分:1)
Python使用句点(。)运算符来引用从当前文件夹开始的目录/模块,并在每个句点的目录树中向上移动。
例如,如果要从python_file2导入文件.py和您要导入的文件包含在folder2本身中。这可以通过以下实现:from . import <filename>
如果您希望从python_file2.py导入文件并且文件位于folder1中,您可以添加另一个句点(。)来移动一个目录在您的案例中,陈述将如此 - from ..folder1 import <filename>
filename
python_file1.py
。希望这会有所帮助。