我正在编写一些py 2.7代码,并希望优化我的导入。我的项目文件结构如下所示:
.
├── example.py
├── __init__.py
├── libs
│ ├── __init__.py
│ ├── scraper.py
│ ├── vulnlookup.py
│ └── vulnlookup.pyc
└── py-wordstress.py
两个__init__.py
个文件的内容。
import requests
当我尝试从另一个文件requests
中的example.py
模块创建对象时,我无法访问已导入模块的方法。也许我对此完全错误,但是有没有办法只在__init__.py
内部导入您的公共库并在整个项目中使用它们?
基本上我的主要目标是优化导入,这样我就不会在我创建的每个python文件中执行import requests
。
答案 0 :(得分:2)
__init__.py
文件无法正常工作。您需要在文件中导入所需的所有需求。因此,在您的情况下,您需要在example.py和使用请求的任何其他文件中import requests
。
您可以使用__init__.py
更清楚地导入包。
因此,在您的libs库中,您可以将__init__.py
设置为如下所示:
from .scraper import MyScraper
from .vulnlookup import MyFunction
然后,如果您需要在其他地方使用您的库,您可以像这样简化导入:
from .libs import MyScrapper
#instead of:
#from .libs.scraper import MyScraper