我一直在Python中写几个月,我从来没有找到一个通过解释如何导入工程。我下载了这个文件夹与子文件夹中的python文件。我正尝试使用这些文件中的一个,并且我正在放松自己的想法。你如何正确地导入一个包含所有文件的文件夹?导入Python问题
任何帮助将不胜感激。
我一直在Python中写几个月,我从来没有找到一个通过解释如何导入工程。我下载了这个文件夹与子文件夹中的python文件。我正尝试使用这些文件中的一个,并且我正在放松自己的想法。你如何正确地导入一个包含所有文件的文件夹?导入Python问题
任何帮助将不胜感激。
首先,检查子目录中是否有文件名为__init__.py
的文件。 Python不会识别不包含这些文件的目录。
然后,您将不得不手动更改PYTHONPATH
,您可以在sys.path
中找到它。你可以找到一个很好的例子here。
编辑:我不是100%确定这是你要求的。如果你想导入一个目录中的所有python文件,你将不得不一一导入它们。例如,给定一个目录,如下所示:
parent/
__init__.py
runner.py
example.py
language.py
你必须键入
from parent import runner, example, language
或
from parent import * # this will also import __init__
你必须在该目录下创建一个__init__.py
文件,使之成为包。在这个文件中,您可以从基础文件中导入所有符号。
请参阅http://docs.python.org/tutorial/modules.html(尤其是第6.4部分包)以获取更多有关此方面的说明。
正如写在python documentation on modules:
如果你有一个文件夹的声音寻找这样的:
sound/ Top-level package
__init__.py Initialize the sound package
effects/ Subpackage for sound effects
__init__.py
echo.py
surround.py
reverse.py
要导入的影响文件夹中的所有文件:
from sound.effects import *
指出,将要能够导入模块,他们必须包含一个__init__.py
文件。
父文件夹必须位于PYTHONPATH中,或位于路径位置的扩展名为.pth
的文件中指定的文件夹路径中,通常位于site-packages
。
然后,您的包及其中您必须从中导入的所有文件夹都需要有一个名为__init__
的文件。这个文件可以用于程序初始化,但作为一个起点,它可以是一个空文件。
例如我的程序文件夹,位于C:\python26
有estructure:
programas\
.....package1\
.........__init__.py
.........module1.py
.........subpackage1\
.............__init__.py
.............module2.py
.....package2\
.........__init__.py
.........module3
.....__init__.py
.....lonelyscript1.py
.....lonelyscript2.py
文件site-packages\site.pth
包含:
C:\Python26\programas