我已经在python中写了几个月了,我从来没有找到过如何导入的解释。我下载了这个带有子文件夹的文件夹,里面有python文件。我正在尝试使用其中一个文件而我正在失去理智。如何正确导入包含其中所有文件的文件夹?
非常感谢任何帮助。
答案 0 :(得分:2)
正如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
文件。
答案 1 :(得分:0)
首先,检查子目录中是否有一个名为__init__.py
的文件。 Python不会识别不包含这些文件的目录。
然后,您必须手动更改PYTHONPATH
,您可以在sys.path
中找到该parent/
__init__.py
runner.py
example.py
language.py
。你可以找到一个很好的例子here。
编辑:我不是100%确定这是你要求的。如果要导入目录中的所有python文件,则必须逐个导入它们。例如,给定一个像这样的目录:
from parent import runner, example, language
你必须输入
from parent import * # this will also import __init__
或
{{1}}
答案 2 :(得分:0)
您必须在目录中创建一个__init__.py
文件,使其成为一个包。在此文件中,您可以导入基础文件中的所有符号。
有关此问题的进一步说明,请参阅http://docs.python.org/tutorial/modules.html(特别是第6.4部分包)。
答案 3 :(得分:0)
父文件夹必须位于PYTHONPATH或文件中指示的文件夹路径,其中扩展名.pth
位于路径中的某个位置,通常位于site-packages
。
然后你的包及其中必须导入的所有文件夹都需要有一个名为__init__
的文件。此文件可用于程序初始化,但作为起点,它可以是空文件。
例如,位于C:\python26
的我的程序文件夹具有结构:
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