python學習筆記(三) 檔案操作

2022-08-30 14:18:10 字數 2783 閱讀 4582

對檔案的操作分三步:

1、開啟檔案獲取檔案的控制代碼,控制代碼就理解為這個檔案

2、通過檔案控制代碼操作檔案

3、關閉檔案。

現有以下檔案a.txt:

登鸛雀樓

唐代:王之渙

白日依山盡,黃河入海流。

一、檔案基本操作

f = open('a.txt','a+',encoding='utf-8')#開啟乙個檔案

f.seek(0)#seek移動指標到檔案開頭的時候,只對讀好使,對寫不好使

print(f.read())#讀取檔案裡面的全部內容

f.write('\n'+'欲窮千里目,更上一層樓。 ')#寫入檔案

# f.truncate()#清空檔案內容

print(f.tell())#

檢視當前檔案指標的位置

print(f.readline())#

只讀取一行的內容

print(f.readlines())#

讀取檔案裡面所有的內容,把檔案裡面每一行的內容放到乙個list裡面

f.close()#關閉檔案

注:檔案開啟有3種方式

讀 r (如果開啟的檔案的時候沒有指定模式,那麼預設是讀)

讀寫模式 r+(

只要沾上r,檔案不存在的時候,開啟都會報錯)

寫 w

寫讀模式 w

+(只要沾上w,他就會把檔案內容清空)

追加 a

追加讀寫a+

f = open('

a.txt

','a+

',encoding='

utf-8')

#names =

#s='haha,123456'

#f.write(names)

#f.writelines(names) #寫入可迭代的資料,效率不高

二、檔案的高效處理

用上面的read()和readlines()方法操作檔案的話,會先把檔案所有內容讀到記憶體中,這樣的話,記憶體資料一多,非常卡,高效的操作,就是讀一行操作一行,讀過的內容就從記憶體中釋放了

f = open('

file.txt')

for line in

f:

print

(line) #

這樣的話,line就是每行檔案的內容,讀完一行的話,就會釋放一行的記憶體

三、檔案的修改

''修改檔案 一 '''

with open('a.txt','a+',encoding='utf-8') as f:

f.seek(0)

all =f.read()

new_all =all.replace('二','一')

f.seek(0)

f.truncate() #刪除原檔案內容

f.write(new_all)

f.flush()

'''

修改檔案 二

'''import

oswith open(

'a.txt

','a+

',encoding='

utf-8

') as f,open('

c.txt

','w

',encoding='

utf-8

') as f2:

f.seek(0)

for line in

f: new_line = line.replace('

一','二'

) f2.write(new_line)

os.remove(

'a.txt

')#刪除原檔案

os.rename('

c.txt

','a.txt

')#更改修改檔名稱

四、其他

with open('

a.txt

','w

') as gy,open('

b.txt

','w

') as gy2: #

開啟多個檔案且自動關閉

gy.write('

hhh'

) gy2.write(

'hahah

')

f = open('

1.png

','rb

')#加b是以二進位制方式開啟,、音訊等

#立即把緩衝區裡面的內容寫到檔案中

python學習筆記 三 檔案操作和集合

這篇部落格來說一下python對檔案的操作。對檔案的操作分三步 1 開啟檔案獲取檔案的控制代碼,控制代碼就理解為這個檔案 2 通過檔案控制代碼操作檔案 3 關閉檔案。現有以下檔案file.txt 12 3456 78910 1112 1314 1516 1718 1920 2122 2324 252...

python學習記錄(三) 檔案操作

操作檔案必須進行的三個步驟 開啟檔案 對檔案進行操作 讀,寫 關閉檔案 python中開啟檔案使用的是open函式,需要傳入檔案開啟的模式,所有檔案開啟模式如下 檔案開啟模式描述r 以唯讀模式開啟檔案,並將檔案指標指向檔案頭 如果檔案不存在會報錯 w以只寫模式開啟檔案,並將檔案指標指向檔案頭 如果檔...

Python學習筆記 四 檔案操作

讀取鍵盤輸入 buf raw input please input your name buf raw input 開啟檔案 如果hello.txt不存在 fp open hello.txt w w是說建立這個檔案,以寫的方式開啟 fp.write text fp.close 如果hello.txt...