[英]Using file paths in import statements python
我具有以下文件结构:
mainprogram.py
/Scripts
Data.py
其中Data.py
文件Data.py
Scripts
文件夹中,并且包含一组函数,而mainprogram.py
正在尝试导入这些函数。
如果Data.py
是在同一文件夹中的文件mainprogram.py
,那么我可以简单地写from Data import *
和我将不得不从文件中的所有定义的功能。
但是,我总是收到错误: ModuleNotFoundError: No module named '__main__.Scripts'; '__main__' is not a package
如果我尝试从Scripts文件夹导入ModuleNotFoundError: No module named '__main__.Scripts'; '__main__' is not a package
。
我尝试了各种方法,包括: from .Scripts.Data import *
和from \\\\Scripts\\\\Data import *
我是否缺少某些内容,或者是否有更好的方法从子文件夹导入Data.py
?
看看https://docs.python.org/2/tutorial/modules.html :
包是一种通过使用“点分模块名称”来构造Python模块名称空间的方法。 例如,模块名称AB在名为A的包中指定了一个名为B的子模块。就像使用模块可以节省不同模块的作者不必担心彼此的全局变量名称一样,使用带点划线的模块名称也可以节省作者诸如NumPy或Python Imaging Library之类的多模块软件包,而不必担心彼此的模块名称。
您需要在Scripts
文件夹中有一个__init__.py
文件(空)。 然后,您应该能够import Scripts.Data
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.