python 13 檔案操作 之二

2022-09-17 15:15:25 字數 2725 閱讀 2557

一、檔案操作的常用方法:

1、read():從游標位置開始讀取整個檔案剩下的內容,注意是從游標位置開始,不一定是讀取整個檔案。

#第一次讀取:

f=open('test.txt','r')

print(f.read())

f.close()

#自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.

#第二次讀取

f=open('test.txt','r')

f.readline()

f.close()

2、readline和readlines的區別:

#readline()只讀取一行,然後游標移動到下一行

f=open('test.txt','r')

print(f.readline()) #自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.

f.close()

#readllines()讀取整個檔案,然後把每一行當成乙個元素存成乙個列表。注意每個元素後後帶有換號符

f=open('test.txt','r')

f.close()

#最後說明一點:readlines是把整個檔案都一次性讀寫到記憶體中,如果檔案小還好,一旦檔案大了,會要命。檔案大可以使用下面這種方法來讀寫:

with open('test.txt','r') as f:

for line in f:

print(line.strip())

#這樣讀寫的好處就是一行一行讀,並且讀完就釋放,完全不占用記憶體。

3、write,writelines

f.write('1111\n222\n') #針對文字模式的寫,需要自己寫換行符

f.write('1111\n222\n'.encode('utf-8')) #針對b模式的寫,需要自己寫換行符

f.writelines(['333\n','444\n']) #檔案模式

f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式

4、其他方法:

f.readable() #檔案是否可讀

f.writable() #檔案是否可讀

f.closed #檔案是否關閉

f.encoding #如果檔案開啟模式為b,則沒有該屬性

f.flush() #立刻將檔案內容從記憶體刷到硬碟

f.name #檔名

二、檔案游標的移動:

1、read(n)當檔案開啟方式為文字模式時,代表讀取n個字元,檔案開啟方式為b模式時,代表讀取n個位元組

#1、以文字模式讀取

with open('test.txt','r') as f:

print(f.read(4)) #自恐多情

#2、以位元組模式讀取:

with open('test.txt','rb') as f:

print(f.read(4).decode('gbk')) #自恐

#直接輸出:print(f.read()) 輸出為 b'\xd7\xd4\xbf\xd6'

2、tell()  獲取當前檔案指標所在的位置,沒引數。以位元組方式計算返回

with open('test.txt','r') as f:

print(f.read(4)) #自恐多情

print(f.tell()) #8

3、seek() 作用:用於移動檔案讀寫指標到指定位置。

#函式的原型是:file.seek(offset,whence=0)

offset是指偏移量,whence有三個值,0,1,2。0代表移動到檔案開頭,1,指當前位置,2指檔案末尾。 預設則使用預設值0.

#注意:使用引數1,2必須在位元組模式b下開啟檔案!

二、檔案的修改:

實際上我們平時說得修好某個檔案的某個地方,實際是本質上並不是直接修改檔案,而是覆蓋。檔案的資料是存放於硬碟上的,因而只存在覆蓋、不存在修改這麼一說,我們平時看到的修改檔案,都是模擬出來的效果,我們可以用下面的**來模擬這過程。

import  os

with open('test.txt','r') as f ,open('test_1.txt','w') as f1:

for line in f:

line=line.replace('自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.',\

'不恐多情損梵行, 唯恐入山誤傾城.世間安得雙全法,寧負如來不負卿.')

line=line.replace('倉央嘉措','喲,寫bug呢??')

f1.write(line)

os.remove('test.txt')

os.rename('test_1.txt','test.txt')

python13檔案 13 Python 檔案

概述 嚴格講,檔案不屬於資料型別。02操作 1 開啟檔案 1 基本語法 file open 檔名 mode 引數mode模式可選引數,分為 r讀 w寫 a追加 r w a後面可接第二個引數,b標書二進位制,f open data.bin rb 2 完整語法格式為 open file,mode r b...

Python自娛 13 檔案操作

一.檔案操作 檔案控制代碼 f open 檔案絕對路徑或相對路徑 mode r encoding utf 8 content f.read 這裡進行了乙個utf 8到gbk轉換?print content f.close 如果檔案隱藏了字尾,則不要新增字尾 以什麼編碼方式儲存的檔案,就以什麼編碼方式...

python(13) 檔案處理應用 增刪改查

使用者選擇1,增加功能 使用者輸入www.oldboy2.org和server 11111 weight 2222 maxconn 3333後,在www.oldboy2.org下增加一條server資訊 server 11111 weight 2222 maxconn 3333使用者選擇2,刪除功能...