您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“python的文件操作方法有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
使用try-finally方式
try: f = open('/path/to/file', mode='r') print(f.read()) finally: f.close()
使用with方式,強烈建議使用這種方式!
with open('/path/to/file', mode='r') as f: print(f.read())
補充內(nèi)容:
用with方式可以一條語句同時打開多個文件,具體案例請看“文件的修改”。
open()方法常見參數(shù):
第一個參數(shù)是要打開的文件,在當(dāng)前路徑的可以只寫文件名,不在當(dāng)前路徑的要寫完整路徑名文件名。
第二個參數(shù)encoding,指定文件解碼方式,案例請看“文件的修改”。
第三個參數(shù)mode,指定文件的操作模式。
r ,只讀方式打文本文件。這是默認(rèn)模式。
rb,只讀方式打開二進制文件(如圖片、聲音、視頻)。
r+,讀寫方式打開文本文件。
rb+,讀寫方式打開二進制文件。
w,只寫方式打開文本文件。
wb,只寫方式打開二進制文件。
w+,讀寫方式打開文本文件。
wb+,讀寫方式打開二進制文件。
a,只寫方式打文本文件。
ab,只寫方式打二進制文件。
a+,讀寫方式打文本文件。
ab+,讀寫方式打二進制文件。
read()方法,讀取二進制文件或文本文件。
read(n),參數(shù)n指定讀取多少字節(jié),無參數(shù)則表示讀取全部內(nèi)容。
readline()方法,讀取文本文件一行內(nèi)容至換行符止(含換行符)。
readlines()方法,讀取文本文件所有內(nèi)容到列表,一行內(nèi)容對應(yīng)一個列表元素(含換行符)。
for循環(huán)讀取文本文件。大文件強烈建議使用這種方式!文件句柄也是對象,可以用for循環(huán)逐行讀取,另外可以配合"yield"逐行讀取文件并逐行返回處理。
with open('a.txt', encoding='utf8') as f: for line in f: print(line,end='')
write()方法寫入文件內(nèi)容
文本文件寫入使用 f.write( str )
二進制文件寫入使用 f.write( b'bytes')
寫入時是暫存緩沖區(qū),并沒有真正寫入磁盤,只有在文件關(guān)閉時才會寫到磁盤上。另外可以通過f.flush()方法將緩沖區(qū)內(nèi)容立即到磁盤。
tell() # 獲取光標(biāo)位置,單位是字節(jié)
seek() # 調(diào)整光標(biāo)位置,單位是字節(jié)
seek(0, 0) # 移動到文件頭 seek(0, 2) # 移動到文件尾
只讀模式打開原文件
只寫方式創(chuàng)建新文件(通常命名是原文件最后加.bak)
讀取原文件內(nèi)容到內(nèi)存,將內(nèi)容進行修改后保存到新文件。
將原文件刪除。
將新文件重命名為原文件。
代碼示例如下:
with open('原文件.txt', encoding='utf8') as f1, \ open('原文件.txt.bak', encoding='utf8', mode='w') as f2: for txt in f1: new_content = txt.replace('python', 'PYTHON') f2.write(new_content) os.remove('原文件.txt') os.rename('原文件.txt.bak', '原文件.txt')
“python的文件操作方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。