在import语句python中使用文件路径

时间:2018-04-03 12:35:55

标签: python python-3.x python-import

我的文件结构为:

mainprogram.py
/Scripts
    Data.py

文件Data.py位于文件夹Scripts中,并包含一组函数,而mainprogram.py正在尝试导入这些函数。

如果Data.py与文件mainprogram.py位于同一个文件夹中,那么我只需编写from Data import *即可获得该文件中所有已定义的函数。

但是,如果我尝试从Scripts文件夹中导入错误,我总是会收到错误:ModuleNotFoundError: No module named '__main__.Scripts'; '__main__' is not a package

我尝试了各种方法,包括:from .Scripts.Data import *from \\Scripts\\Data import *

我是否遗漏了某些内容,或者是否有更好的方法从子文件夹导入Data.py

1 个答案:

答案 0 :(得分:2)

查看https://docs.python.org/2/tutorial/modules.html

  

包是一种使用“点模块名称”构建Python模块命名空间的方法。例如,模块名称AB在名为A的包中指定名为B的子模块。就像使用模块保存不同模块的作者不必担心彼此的全局变量名一样,使用点模块名称可以保存作者NumPy或Python Imaging Library等多模块软件包不必担心彼此的模块名称。

__init__.py文件夹中需要Scripts个文件(空)。然后,您应该能够import Scripts.Data