04 Python之檔案 異常和模組

2022-08-03 09:21:09 字數 3416 閱讀 9867

1、掌握外部檔案讀取和儲存各類方法。

2、掌握異常的處理辦法。

3、掌握外部模組匯入和呼叫的方法。

實際應用中,我們絕大數的資料都是通過檔案的互動完成的。

with open("檔案路徑","開啟模式",encoding = "操作檔案的字元編碼") as f: # 對檔案進行相應的讀寫操作

with open("e:\ipthon\測試檔案.txt","r",encoding="gbk") as f:  # 開啟檔案

text = f. read() # 讀取檔案

print(text)

with open("三國演義片頭曲_gbk.txt","r",enconding="gbk") as f:

for text in f: # f本身就是乙個可迭代物件,每次迭代讀取一行內容

print(text)

ls = ["春天刮著風", "秋天下著雨", "春風秋雨多少海誓山盟隨風遠去"]

with open("戀雨1980.txt", "w", encoding="utf-8") as f:

f.writelines(ls)

with open("浪淘沙_北戴河.txt", "r+", encoding="utf-8") as f:

# for line in f:

# print(line) #遍歷檔案f,指標達到結尾

f.seek(0, 2) # 或者可以將指標移到末尾f.seek(偏移位元組數,位置(0:開始;1:當前位置;2:結尾))

text = ["蕭瑟秋風今又是,\n", "換了人間,\n"]

f.writelines(text)

with open("浪淘沙_北戴河.txt", "w+", encoding="utf-8") as f:

text = ["蕭瑟秋風今又是,\n", "換了人間,\n"] # 清空原內容

f.writelines(text)

f.seek(0, 0) # 指標移到開始

print(f.read())

通用的資料格式,可以在不同語言中載入和儲存,主要了解資料儲存結構csv和json

csv格式由逗號將資料分開的字串行,可以由excel開啟

with open("成績.csv","r",encoding="gbk") as f:

ls =

for line in f:

for res in ls:

print(res)

ls = [["編號", "數學成績", "語文成績"], ['1', '100', '98'], ['3', '97', '95']]

with open("score.csv","w",encoding="gbk") as f: # encoding="utf-8"中文出現亂碼

for row in ls:

f.write(",".join(row)+"\n") # 逐行寫入.用逗號組合成字串形式

也可借助csv模組完成上述操作常用來儲存字典格式

scores = ,

"paul": ,

"mary": }

with open("score.json", "w", encoding="utf-8") as f:

# indent:表示字串換行+縮排 ensure_ascii=false 顯示中文

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

with open("score.json", "r", encoding="utf-8") as f:

scores = json.load(f) # 載入整個物件

for k, v in scores.item():

print(k, v)

當異常發生的時候,如果不預先設定處理方法,程式就會中斷

提高程式的穩定性和可靠行

try_except
如果try內**塊順利執行,except不被觸發;如果try內**塊發生錯誤,觸發except執行except內**塊

x = 10

y = 0

try:

z = x/y

except zerodivisionerror:

print("0不可以被除")

d = 

try:

d["age"]

except nameerror:

print("變數名不存在")

except indexerror:

print("索引超出界限")

except keyerror:

print("鍵不存在")

ls = 

d =

try:

y = x

ls[3]

d["age"]

except exception as e:

print(e)

已經被封裝好,無需自己再"造輪子",宣告匯入後拿來即用

模組搜尋查詢順序:

import sys

print(len(sys.modules))

print("math" in sys.modules)

print("numpy" in sys.modules)

for k,v in list(sys.modules.items())[:5]:

print(k, ":", v)

"""875

true

true

sys : builtins : _frozen_importlib : _imp : _thread : """

import sys

import fun3

fun3.f3()

04 Python檔案操作

f open 我的檔案.txt r encoding utf8 開啟乙個檔案 讀模式 f.close 關閉檔案解釋 寫 過程中,很容易忘記關閉檔案,所以出現了with語句。with open 我的檔案.txt r encoding utf8 as file 自動關閉檔案 data file read...

04 Python中檔案流的關閉

目錄 close 關閉檔案流 with語句 上下文管理器 由於檔案底層是由作業系統控制,所以我們開啟的檔案物件必須顯式呼叫 close 方法 關閉檔案物件。當呼叫 close 方法時,首先會把緩衝區資料寫入檔案 也可以直接呼叫 flush 方法 再關閉檔案,釋放檔案物件。為了確保開啟的檔案物件正常關...

04 python練習習題 身體指數BMI和圓周率

身體指數bmi 國際版 calbmiv1.py height,weight eval input 請輸入身高 公尺 和體重 公斤 逗號隔開 bmi weight pow height,2 print bmi 數值為 format bmi who if bmi 18.5 who 偏瘦 elif 18....