day08 檔案操作

2022-08-11 03:51:18 字數 3242 閱讀 5630

1、三種字串:

(1)u'' 普通字串 ---> u'

abc' --->預設的文字方式,以字元作為文字的輸出方式

(2)b'' 二進位制字串 ---> b'

ascii碼

' --->以二進位制(位元組)作為文字輸出方式,且文字內容必須為ascii碼

(3)r'' 原義字串 ---> r'

\n\t

' --->將引號中的轉移字串以原本的意義表示出來(多用於檔案路徑的表示)

2、檔案操作步驟

(1)通過檔名等從硬碟中找到相應的檔案位址,使作業系統就有檔案的操作權

(2)使用應用程式對檔案進行操作

(3)操作完成後,應用程式向作業系統傳送請求,使其釋放檔案的操作權

3、開啟檔案的方式

(1)使用open開啟檔案

f = open("

檔案路徑及檔名

","檔案開啟模式

",enconding="

utf-

"8) (2)使用with open...as 的方式進行檔案操作

with open(

"檔案路徑及檔名

","檔案開啟模式

",enconding="

utf-8

") as f:

(3)使用with open 進行檔案操作時,巢狀使用

with open(

"檔案路徑及檔名

","操作模式

",enconding="

utf-8

") as f1:

with open(

"檔案的路徑及檔名

","操作模式

",enconding="

utf-8

") as f2:

對檔案的操作

4、檔案的操作模式

主模式: r | w | a |x

從模式: t | b | +(1)r --->基本讀操作

with open(

"檔案路徑及檔名

","r

",enconding="

utf-8

") as f1:

f1.read() -->將整個檔案讀取進記憶體

f1.readline() -->讀取一行檔案

f1.readlines() -->將每行內容依次新增進列表中,並返回列表

對檔案進行讀操作,如果檔案不存在則報錯

#如果想要一行一行的讀取檔案,可以使用for迴圈 ---> 重要點

for line in

f1:

print

(line)

(2)w --->基本寫操作

with open(

"檔案路徑及檔名

","w

",enconding="

utf-8

") as f1:

f1.write("哈哈

")f1.writerlines([必須為可迭代的物件,並且內容為字串])

對檔案進行寫操作,如果檔案不存在則建立檔案,如果檔案存在,則清空檔案從頭開始寫

(3)a --->追加操作

with open(

"檔案路徑及檔名

","a

",enconding="

utf-8

") as f1:

採用追加的方式對檔案進行寫操作,預設從檔案的結尾新增

(4)x --->寫操作,檔案不存在建立,檔案存在報錯

with open(

"檔案路徑及檔名

","x

",enconding="

utf-8

") as f1:

如果檔案存在則報錯,如果檔案不存在則建立檔案並寫入

t ---> 以文字方式進行檔案的操作,是檔案操作的預設方式, rt =r

(5) rt 以普通方式進行檔案讀操作,如果檔案不存在則抱錯問題 --->與 r 相同

(6) wt 以普通字串的方式對檔案進行寫操作,如果檔案存在則清空後寫入,如果檔案不存在則建立檔案後寫入 -->與 w 相同

(7) at 以普通文字方式對檔案進行追加操作,,預設寫到檔案的末尾 --->與 a 相同

b --->以位元組的方式對檔案進行操作

with open(

"檔案路徑及檔名

","wb

") as f1:

f1.write()

(8) rb 以位元組的方式對檔案進行讀操作,如果檔案不存在則報錯

(9) wb 以位元組的方式對檔案進行操作,如果檔案存在則清空後新增,如果檔案不存在則建立檔案

(10) ab 以位元組的方式對檔案進行操作,預設新增到檔案的末尾

+ --->以讀寫的方式對檔案進行操作

(11) r+可讀可寫的讀,如果檔案不存在則報錯,【如果檔案存在則從頭開始替換寫】

(12) w+可讀可寫的寫,如果檔案存在則清空寫,如果檔案不存在則進行建立檔案後進行寫入

(13) a+可讀可寫的追加,如果檔案不存在則進行建立,如果檔案存在則在末尾進行新增

5、游標操作

游標由於是以位元組作為移動的單位,所以檔案必須是b模式,又因為只有在讀取檔案時才有游標,所以,檔案的游標概念只有在 rb 模式下才能起作用

游標操作使用seek()方法,seek(

'移動的位數

','起始的位置')

起始的位置主要有三個: 0 -->文件開頭

1 -->當前位置

2 -->文件末尾

with open(

"3.txt

", "rb"

) as f:

f.seek(-2, 2)

print(f.read(2))

6、文件的複製

with open(

"3.txt

","r

",encoding="

utf-8

") as f1:

with open(

"4.txt

","w

",encoding="

utf-8

") as f2:

for line in

f1: f2.write(line)

7、enconding編碼

在使用 t 模式進行檔案操作時,需要標明編碼方式,enconding="

utf-8

"在使用 b 模式進行檔案操作時,不能標明編碼方式,否則會報錯

day08 檔案操作

open 開啟 f 檔案控制代碼 open 檔案的路徑 檔案放的位置 mode 操作檔案的模式 encoding 檔案的編碼 內建函式 f open 蘿莉小姐姐 號 mode r encoding utf 8 print f.read f.close with open 自動關閉檔案 with op...

day 08 檔案管理

2 access 1 建議鎖 檔案鎖的由來 當兩個程序在同一時刻向同乙個檔案中寫入資料時,可能造成資料的交錯和不一致問題 當乙個程序在向檔案中寫入資料的同時,另外乙個程序讀取檔案中資料時可能造成資料的不一致性問題 當兩個程序同時讀取同乙個檔案資料時,可以同時進行 沒有讀寫操作讀取操作寫入操作 讀取o...

Python之路day08 檔案讀寫操作 函式初識

今天挑戰一下,將day08和day09的搞定。今天主要學習了檔案的操作讀寫 來來總結一波 學習了檔案的讀 r rb r r b 寫 w wb w w b 檔案控制代碼,seek游標,flush強制重新整理檔案內容,tell 告訴當前控制代碼所在的位置 int day09 函式的定義 傳參 實參 形參...