1.異常及其處理
f = None
try:
f = open("test.txt","r")
except (FileNotFoundError,AttributeError) as msg:
print("有異常出現(xiàn)")
print("異常的信息是:%s"%msg)
else:
print("沒有異常發(fā)生")
finally:
try:
f.close()
except (FileNotFoundError,AttributeError) as msg:
print("有異常出現(xiàn)")
print("異常的信息是:%s" % msg)
else:
print("沒有異常發(fā)生")
打印結果如下:
有異常出現(xiàn)
異常的信息是:[Errno 2] No such file or directory: 'test.txt'
有異常出現(xiàn)
異常的信息是:'NoneType' object has no attribute 'close'
2.自定義異常及其處理
# 自定義異常
class ShortInputException(Exception):
def __init__(self,length,at_least):
self.length = length
self.at_least = at_least
def main():
try:
s = input("請輸入:-->")
if len(s) < 3:
# 使用 raise 關鍵字來拋出一個異常
raise ShortInputException(len(s),3)
except ShortInputException as res:
print('有異常出現(xiàn):輸入的長度是%d捍壤,但長度至少應該是%d'%(res.length,res.at_least))
else:
print("沒有異常發(fā)生")
main()
打印結果如下:
請輸入:-->12
有異常出現(xiàn):輸入的長度是2感凤,但長度至少應該是3
總結:
try:是異常捕獲開始代碼统台,try放在特別關心的那段代碼前面
pass:如果這段代碼出現(xiàn)了問題,那么后面的代碼都不會運行
pass2
pass3
except:異常類型 as ex:捕獲某種類型的異常
except....多個except。按照順序依次對比類型
else:沒有異常時執(zhí)行
finally:不管有沒有異常都要執(zhí)行
3.Python模塊及其安裝
- Python 中的模塊
模塊好比是工具包,要想使用這個工具包中的工具(就好比函數(shù)),就需要導入這個模塊
- 導入模塊
# 方式1:
import os
# 方式2:
from os import path
# 方式3:
from os import *
- 定位模塊
當你導入一個模塊,Python解析器對模塊的搜索順序是:
1.當前目錄
2.如果不在當前目錄虚吟,Python則搜索在shell變量PYTHONPATH下的每個目錄
3.如果都找不到,Python會查看默認路徑
4.模塊搜索路徑存儲在system模塊的sys.path變量中签财。變量包含當前目錄串慰,PYTHONPATH和由安裝過程決定的默認目錄
- 安裝模塊
conda install 模塊
pip install 模塊
4.模塊制作
import demo_sub
res = demo_sub.sub(1, 2)
print(res)
5.模塊的發(fā)布
- 編輯setup.py文件
- 構建模塊
python setup.py build
- 生成發(fā)布壓縮包
python setup.py sdist