盞茶python 七 檔案 異常和模組

2021-10-02 10:08:34 字數 3886 閱讀 5050

2.異常處理

3.模組介紹

盞茶python(一) 語言特性及環境配置

盞茶python(二) 基本資料型別

盞茶python(三) 組合資料型別

盞茶python(四) 控制流

盞茶python(五) 函式

盞茶python(六) 類

盞茶python(七) 檔案、異常和模組

本節我們將要講解python關於檔案使用、異常處理及模組化的部分內容。

1.檔案讀寫

在實際使用中,大部分的資訊都是通過檔案的互動完成的,掌握檔案的使用非常重要

1.1 檔案的開啟

檔案的開啟形式:

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

**塊

使用with的好處是當執行完畢後,自動對檔案進行close操作,可以看到在開啟檔案的過程中,有三個重要元素,分別是檔案路徑,開啟模式及字元編碼方式。

(1)檔案路徑

檔案路徑分為絕對路徑和相對路徑,相對路徑是指程式和檔案在同一資料夾下的預設路徑,可以進行簡化,舉例如下:

# 絕對路徑

"c:"

"c:\test.txt"

#相對路徑

"test.txt"

(2)開啟模式開啟模式只開啟檔案是讀取還是寫入等方法,具體舉例如下:

"r" 唯讀模式,如檔案不存在,報錯

"w" 覆蓋寫模式,如檔案不存在,則建立檔案,否則覆蓋原檔案

"x" 建立寫模式,如檔案不存在,則建立,如檔案存在,報錯

"a" 追加寫模式,如檔案不存在,則建立檔案,否則在原始檔後追加內容

"b" 二進位制檔案模式,不能單獨使用,需要配合使用如"rb", "wb", "ab"等方法,且該模式不需要指定encoding

"t" 文字檔案模式,預設值,需配合使用,如"rt", "wt", "at"等,可以簡寫不適用t

「+」 與"r", "w", "x", "a"配合使用,在原基礎上,增加讀寫功能

注意若開啟模式預設,則預設為唯讀模式

(3)字元編碼

字元編碼中常用的是utf-8和gbk編碼方式,其中utf-8包含全世界所有國家需要用到的字元,gbk編碼方式用於專門解決中午呢編碼問題。

注意:在windows系統下,預設設定為gbk編碼方式。

1.2 檔案的開啟

檔案的開啟形式:

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

# 讀取整個內容

text = f.read();

# 逐行進行讀取

text = f.readline();

# 讀入所有行,以每行為元素行為乙個列表

text = f.readlines();

當檔案比較大時,使用read()和readlines()占用記憶體較大,使用乙個檔案作為可迭代物件

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

for text in f:

print(text)

1.2 檔案的寫入

檔案的開啟形式:

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

f.write("something")

ls = ["1", "2"]

# 將乙個元素為字串的列表寫入檔案

f.writelines()

1.3 資料的儲存與讀取

常用的兩種資料儲存結構csv和json

對於csv格式,可以用excel開啟,讀取**如下:

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

ls =

# 逐行讀取

for line in f:

# 去掉每行的換行符,用","進行分割

對於json格式,常被用來儲存字典型別,讀寫**如下:

import json

score =

# 寫入

# indent表示字串換行+縮排

json.dump(score, f, indent=4. ensure_ascii=false)

# 讀取

with open("檔案路徑", 「開啟模式」, encoding="字元編碼方式") as f:

score = json.load(f)

for k, v in score.items():

print(k, v)

2.異常處理

在程式執行的過程中,常見的異常報錯情況有:

除0報錯——zerodivision

找不到可讀檔案——filenotfounderror

值錯誤——valueerror

索引錯誤——indexerror

型別錯誤——typeerror

異常處理可以提高程式的穩定性和可讀性,常見的異常處理方法:

try:

**塊except 錯誤方法:

**塊

表示當try內的**執行時,except不觸發,如果try內的**發生錯誤,則出發except中的**塊。

在錯誤方法中可以填入前面介紹過的所有異常情況,且有exception作為任何報錯的錯誤方法。

通過exception引入一種捕獲異常方法的方式:

try:

**塊except exception as e:

print(e)

在引入其他異常處理方法:

當try模組執行,else模組也會執行

try:

**塊except 錯誤方法:

**塊else:

**塊

無論try模組是否執行,finally模組也會執行

try:

**塊except 錯誤方法:

**塊finally:

**塊

3.模組介紹

模組是指已經被封裝好,無需在二次開發,宣告匯入後可以直接使用的內容。

3.1 廣義模組分類

時間庫time

隨即庫random

容器資料型別collection

迭代器函式itertools

3.2 第三方庫

資料分析numpy、pandas

資料視覺化matplotlib

機器學習scikit-learn

深度學習tensorflow

3.3 自定義檔案

單獨py檔案

包-多個py檔案

當資料夾內有多個py檔案,加入__int__.py檔案即可

3.4 模組匯入方法

匯入方式如下:

import 模組名

from 模組性 import 類名或函式名

# 匯入所有類和函式

from 模組性 import *

C 筆記七(檔案 異常)

1.基本概念 原由 程式執行時資料都是臨時資料,程式一旦執行結束便會被釋放,通過檔案可以將資料持久化。c 中檔案操作的標頭檔案為 fstream 檔案操作的三大類 class 其一,ofstream 寫操作 其二,ifstream 讀操作 其三,fstream 讀寫操作 2.文字檔案 寫檔案的步驟 ...

python基礎九 檔案和異常

讀取整個檔案 with open pi digits.txt as file object contents file object.read print contents.rstrip 注 with的用法 讓檔案妥善地開啟和關閉。rstrip 函式 消除空行 使用檔案的內容 with open t...

Python學習筆記(五) 檔案和異常

1 從檔案中讀取資料 1 1 讀取整個檔案 with open digits.txt as file object contents file object.read print contents.rstrip 1 在檔案所在目錄建立檔案digits.txt後,函式open 開啟檔案儲存到變數fil...