使用__init __。py

时间:2018-01-24 20:48:40

标签: python python-2.7 optimization import

我正在编写一些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

1 个答案:

答案 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