目錄
(七)常用模組----(六)
7.1包
7.2異常處理
a.建立乙個目錄
b.檔案內容
c.import,import...as...#policy.py
def get():
print('from policy.py')
#versions.py
def create_resource(conf):
print('from version.py: ',conf)
#manage.py
def main():
print('from manage.py')
#models.py
def register_models(engine):
print('from models.py: ',engine)
d.from...import...,from...import...as...import後面不可以帶點(.),如from glance import api.policy就是錯誤的import glance.api.policy
glance.api.policy.get()
import glance.api.policy as policy
policy.get()
#from policy.py
e.__init__.py下面**執行是否有問題,如果有問題如何解決from glance.api import policy
policy.get()
from glance.api.policy import get
get()
#from policy.py
執行glance包不能開啟內部的檔案,但會自動開啟__init__.py檔案import glance
glance.api.policy
驗證我們在__init__.py檔案增加**
#說明__init__.py被自動開啟了
所以我們在__init__.py檔案中新增下圖**就可以完成一開始有問題的**
這樣我們就解決了問題
f.絕對路徑和相對路徑上面所述就是絕對路徑import glance
glance.api.policy.get()
#from policy.py
絕對路徑:以glance作為起始,檔案不可以移動,但是直觀
使用絕對路徑 不管在包內部還是外部 匯入了就能用
相對路徑:用.或者..的方式最為起始(只能在乙個包中使用,不能用於不同目錄內)
可以隨意移動包 只要能找到包的位置,就可以使用包裡的模組
包裡的模組如果想使用其它模組的內容只能使用相對路徑,使用了相對路徑就不能在包內直接執行了
.本層檔案
..上層檔案
這樣我們就可以隨意移動glance包到乙個新的資料夾裡也不需要大量修改__init__.py
使用try和except就能處理異常try:from 新包 import glance
glance.api.policy.get()
#from policy.py
被檢測的**塊
except 異常型別:
try中一旦檢測到異常,就執行這個位置的邏輯
except支援多分支
有沒有乙個能處理所有錯誤的型別 : exception
有了萬能的處理機制仍然需要把能**到的問題單獨處理,單獨處理的所有內容都應該寫在萬能異常之前
else : 沒有異常的時候執行else中的**
try:
ret = int(input('number >>>'))
print(ret*'*')
except valueerror:
print('輸入的資料型別有誤')
except exception:
print('有錯誤')
finally : 不管**是否異常,都會執行,finally和return相遇的時候 依然會執行 ,函式裡做異常處理用,不管是否異常去做一些收尾工作try:
ret = int(input('number >>>'))
print(ret*'*')
except exception as error:
print('錯誤',error)
def func():
try:
f = open('file','w')
return true
except:
return false
finally:
print('執行finally了')
f.close()
print(func())
Python模組基礎知識
1 模組的概念 介紹 乙個包含python 的檔案就是乙個模組。2.使用模組的作用 1 現在程式開發檔案比較大,都放在乙個檔案中維護不方便,拆分成多個檔案方 便維護 與管理 2 模組可以增加 的重用率 3.建立模組 模組本身就是乙個檔案,所有py 都可以在檔案中直接書寫。不過我們開發 共用模組時,最...
python學習七(基礎知識)
裝飾器生成器 迭代器裝飾器 decorator 或者稱為包裝器,是對函式的一種包裝。它能使函式的功能得到擴充,而同時不用修改函式本身的 它能夠增加函式執行前 執行後的行為,而不需對呼叫函式的 做任何改變 def showtime f definner start time.time f end ti...
Python基礎知識 os模組
python中os模組包含了普遍的作業系統的功能,本文總結了os模組中各種函式的功能和使用方法。os模組包含了普遍的作業系統的功能 import os print os name 獲取作業系統型別nt windows posix linux unix或mac os x print os enviro...