1. 程式人生 > >Python基礎-----文件操作(處理)

Python基礎-----文件操作(處理)

set -- 追加 開操作 同時 字節 open lose 獲取文件

1. 打開文件的模式有(默認為文本模式):
r ,只讀模式【默認模式,文件必須存在,不存在則拋出異常】
w,只寫模式【不可讀;不存在則創建;存在則清空內容】
a, 之追加寫模式【不可讀;不存在則創建;存在則只追加內容】

2. 對於非文本文件,我們只能使用b模式,"b"表示以字節的方式操作(而所有文件也都是以字節的形式存儲的,使用這種模式無需考慮文本文件的字符編碼、圖片文件的jgp格式、視頻文件的avi格式)
rb
wb
ab
註:以b方式打開時,讀取到的內容是字節類型,寫入時也需要提供字節類型,不能指定編碼

3. 了解部分
"+" 表示可以同時讀寫某個文件
r+, 讀寫【可讀,可寫】
w+,寫讀【可讀,可寫】
a+, 寫讀【可讀,可寫】


x, 只寫模式【不可讀;不存在則創建,存在則報錯】
x+ ,寫讀【可讀,可寫】

f = open(‘a.txt‘)
data = f.readline()
print(data)
f.close()

可用with打開操作文件,不需要進行close()調用,也可以打開多個文件

with open(‘a.txt‘,‘r+‘) as read_f,open(‘b.txt‘,‘w+‘) as write_f:
data = read_f.read()
write_f.write(data)


高效率循環文件,並只獲取文件的最後一行

with open(‘a.txt‘,‘rb‘) as f:
for i in f:
offset = -6
while True:
f.seek(offset,2) #參數2表示倒序讀取
data = f.readlines()
if len(data) > 1:
print(‘獲取的最後一行是:%s‘%data[-1].decode(‘gbk‘))
break
offset *= 2

Python基礎-----文件操作(處理)