python包和logging日志
一、包
包:文件夾下具有__init__.py文件就是一個(gè)包,包用來(lái)管理多個(gè)模塊
包的結(jié)構(gòu)如下:
bake ├── __init__.py ├── api ├── __init__.py ├── policy.py └── versions.py ├── cmd ├── __init__.py └── manage.py └── db ├── __init__.py └── models.py
在bake的同級(jí)創(chuàng)建一個(gè)test.py導(dǎo)入policy.py:
import bake.api.policy bake.api.policy.get() #導(dǎo)入的名字太長(zhǎng)了,可以起別名 import bake.api.policy as p p.get() #from 導(dǎo)入在__init__.py修改 from . import policy #我們需要在policy文件中向sys.path添加了當(dāng)前的路徑 import os import sys sys.path.insert(os.path.dirname(__file__)) #print(__file__)查看一下 #使用__all__,在__init__.py中 __all__ = ["policy"] #或 from . import policy
總結(jié):
import 包.包.包
from 包.包.包 import 模塊
路徑:
絕對(duì):從在外層開(kāi)始導(dǎo)入
相對(duì):從當(dāng)前開(kāi)始(.)導(dǎo)入或者從父級(jí)(..)導(dǎo)入
使用相對(duì)路徑時(shí)必須在包的最外層且同級(jí)
from 包 import *
需要在__init__.py做操作
python2:import文件夾(沒(méi)有__init__.py)會(huì)報(bào)錯(cuò)
python3:import文件夾(沒(méi)有__init__.py)不會(huì)報(bào)錯(cuò)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com