python 14 檔案操作

2021-10-01 16:29:18 字數 3686 閱讀 4026

python中對檔案的讀寫也是非常方便的,本章節將講解讀、寫、讀寫等常用操作。下面講師必要的引數:

1、檔案路徑:必須得知道檔案的路徑,不然怎樣進行讀寫?

2、編碼方式:utf-8,gbk,gb2312....(python3的str是unicode編碼儲存的,我們一般常用utf-8存在,編碼不了解的話容易出現亂碼)

3、操作模式:唯讀,只寫,追加,寫讀,讀寫。

「r」開啟讀取(預設)

「w」開啟進行寫入,首先截斷檔案

「x」建立乙個新檔案並開啟它進行寫入

「a」開啟寫入,如果檔案存在,則追加到檔案的末尾

「b」二進位制模式

「t」文字模式(預設)

「+」開啟磁碟檔案進行更新(讀寫)

「u」通用換行模式(已棄用)

1、r:str方式讀,編碼:utf-8,bytes --》 str(將我們的檔案轉為python3中的str)

# 1、r:str方式讀,編碼:utf-8

2、rb:bytes方式讀,非文字的檔案。可以看到【我是乙個檔案哈】是7個文字,乙個文字3個位元組,所以我們轉換為bytes有21個,每個 \ 隔開。

# 2、rb:bytes方式讀,非文字的檔案

1、w:寫入,沒有此檔案則是新建立,有此檔案會清空原始檔再寫。

# 1、w:寫入,沒有此檔案是建立,有此檔案會清空原始檔再寫

f = open('log', 'w', encoding="utf-8")

f.write('abc小龍abc')

2、wb:二進位制寫入,凡是有wb都需要加.encode("utf-8")

# 2、wb:寫入,沒有此檔案是建立,有此檔案會清空原始檔再寫

f = open('log1', 'wb')

f.write('abc小龍abc'.encode("utf-8")) # 以utf-8編碼格式,寫入東西

3、a:追加寫入

# 3、a:追加寫入

f = open('log1', 'a', encoding="utf-8")

f.write('abc小龍abc')

1、r+ 先讀再寫,推薦該 r+ 方式。

# 1、先讀再寫,寫了不能再讀

f = open('log', 'r+', encoding="utf-8")

f.seek(0)

print(f.read())

f.write('小哥哥談戀愛嗎?我偷老公的錢養你')

2、先寫再讀,推薦該 r+ 方式。

# 2、先寫再讀,不推薦

f = open('log', 'r+', encoding="utf-8")

f.write('小哥哥談戀愛嗎?我偷老公的錢養你')

當然模式可以組合,如r+b,a+b等。

1、seek 指定游標

f = open("log", "r+", encoding="utf-8")

a = f.read() # 預設讀全部

print(a)

f.seek(6) # 按照位元組指定游標開始讀位置

c = f.read(6) # 指定讀 n 個字元

2、追加 小龍女,調節游標獲取後面的9個位元組

# 追加 小龍女,調節游標獲取後面的9個位元組

f = open("log", "a+", encoding="utf-8")

f.write('小龍女')

count = f.tell() # 檢視游標的位置

f.seek(count-9) # 按照位元組指定游標開始讀位置

3、readline、readlines的使用

f = open("log", "a+", encoding="utf-8")

f.seek(0)

# c = f.readline() # 一行一行讀

d = f.readlines() # 每行當成乙個列表,新增到list中

4、推薦:with, 不用 close 關閉,也可讀多個

# 推薦:with 不用 close 關閉,可讀多個

a = open('log', "r+", encoding="utf-8")

b = open('log', "r+", encoding="utf-8")

with a as f, b as f1:

print(f.read())

print(f1.read())

python14異常處理

除數不能為零 except typeerror aserr print 輸入數字 print err 結果 輸入數字 try 加入新得try,防止檔案沒有被開啟而需要關閉所產生的異常 我的自定義異常 err code err msg def init self,err code none,err m...

C語言基礎 14 檔案操作

calderon函式也可以動態分配記憶體 這個函式可以把分配的所有記憶體內容都設定成0 這個函式也需要包含 stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示希望分配的儲存區個數,第二個引數表示單個儲存區的大小 這個函式的返回值是分配好的第乙個儲存區的位址 這個函式也可能失敗,如果失敗則...

python學習筆記14(檔案讀寫)

讀檔案 python讀檔案流程 1 開啟檔案 2 讀檔案內容 3 關閉檔案 注釋 1 開啟檔案 open path,flag encoding errors path 要開啟檔案的路徑 路徑前加r flag 開啟方式 r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭 rb 以二進位制格式開啟乙個...