日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

你还在为文件读写而烦恼?Python已经轻松帮你解决了(建议收藏)

發(fā)布時(shí)間:2024/9/30 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你还在为文件读写而烦恼?Python已经轻松帮你解决了(建议收藏) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


不管是Java還是Python,都有相關(guān)文件讀寫操作!

很多小伙伴們都困擾于讀寫文件的各種模式(如閱讀、寫入、追加等),以及搞不清open、read、readline、readlines、write等方法的使用。

寫這篇文章就是要告訴伙伴們Python文件讀寫的方式!

學(xué)習(xí)python中有什么不懂的地方,小編這里推薦加小編的python學(xué)習(xí)群:895,817, 687
有任何不懂的都可以在里面交流,還有很好的視頻教程pdf學(xué)習(xí)資料,大家一起學(xué)習(xí)交流!

open函數(shù)

如果你想用python讀取文件(如txt、csv等),第一步要用open函數(shù)打開文件。open()是python的內(nèi)置函數(shù),它會(huì)返回一個(gè)文件對(duì)象,這個(gè)文件對(duì)象擁有read、readline、write、close等方法。

open函數(shù)有兩個(gè)參數(shù):

  • open(‘file’,‘mode’)

參數(shù)解釋

  • file:需要打開的文件路徑
  • mode(可選):打開文件的模式,如只讀、追加、寫入等

mode常用的模式:

  • r:表示文件只能讀取
  • w:表示文件只能寫入
  • a:表示打開文件,在原有內(nèi)容的基礎(chǔ)上追加內(nèi)容,在末尾寫入
  • w+:表示可以對(duì)文件進(jìn)行讀寫雙重操作

mode參數(shù)可以省略不填,默認(rèn)為r模式mode參數(shù)還可以指定以什么樣的編碼方式讀寫文本,默認(rèn)情況下open是以文本形式打開文件的,比如上面的四種mode模式。

當(dāng)你需要以字節(jié)(二進(jìn)制)形式讀寫文件時(shí),只需要在mode參數(shù)中追加’b’即可:

  • rb:以二進(jìn)制格式打開一個(gè)文件,用于只讀
  • wb:以二進(jìn)制格式打開一個(gè)文件,用于只寫
  • ab:以二進(jìn)制格式打開一個(gè)文件,用于追加
  • wb+:以二進(jìn)制格式打開一個(gè)文件,用于讀寫

    當(dāng)你在默認(rèn)模式下讀取文本文件時(shí)(二進(jìn)制文件不可以),文件中的換行符會(huì)轉(zhuǎn)換為’\n’形式。


相反,在默認(rèn)模式下寫入文件時(shí),文本中的’\n’會(huì)轉(zhuǎn)換為換行符。

也就是說,你讀取的txt文本,其中換行符會(huì)以’\n’形式出現(xiàn),寫入txt文本時(shí),文本中的’\n’會(huì)變成換行指令。

with 關(guān)鍵字

在打開文件時(shí),很多人通常直接用open(‘file’),這樣并不酷。最好使用 with 關(guān)鍵字。優(yōu)點(diǎn)是當(dāng)子句體結(jié)束后文件會(huì)正確關(guān)閉,即使在某個(gè)時(shí)刻引發(fā)了異常。

with open(‘workfile’) as f:
… read_data = f.read()
f.closed
True

close()方法

打開文件并處理完畢后,需要關(guān)閉文件,這里用到close方法。

f.close() 用來關(guān)閉文件并立即釋放它使用的所有系統(tǒng)資源。如果你沒有顯式地關(guān)閉文件,Python的垃圾回收器最終將銷毀該對(duì)象并為你關(guān)閉打開的文件,但這個(gè)文件可能會(huì)保持打開狀態(tài)一段時(shí)間。

應(yīng)該要養(yǎng)成使用close()的習(xí)慣。

使用方法很簡單:

f = open(file) # 打開文件
f.close() # 關(guān)閉文件

read()方法

當(dāng)使用open函數(shù)打開文件后,就可以使用該文件對(duì)象的各種方法了,read就是其中一種。

read()會(huì)讀取一些數(shù)據(jù)并將其作為字符串(在文本模式下)或字節(jié)對(duì)象(在二進(jìn)制模式下)返回。

read方法有一個(gè)參數(shù):

f.read(size) # f為文件對(duì)象

參數(shù)size(可選)為數(shù)字,表示從已打開文件中讀取的字節(jié)計(jì)數(shù),默認(rèn)情況下為讀取全部。

假設(shè)有一個(gè)文件sample1.txt,內(nèi)容如下:

This is python big data analysis!

現(xiàn)在讀取該文件:

with open('sample1.txt') as f: content = f.read()print(content)f.close()

輸出:


readline()方法

readline方法從文件中讀取整行,包括換行符’\n’。

換行符(\n)留在字符串的末尾,如果文件不以換行符結(jié)尾,則在文件的最后一行省略,這使得返回值明確無誤。

如果 f.readline() 返回一個(gè)空的字符串,則表示已經(jīng)到達(dá)了文件末尾,而空行使用 ‘\n’ 表示,該字符串只包含一個(gè)換行符。

f.readline()有一個(gè)參數(shù):

f.readline(size)
參數(shù)size表示從文件讀取的字節(jié)數(shù)。

假設(shè)有一個(gè)文件sample2.txt,共三行,內(nèi)容如下:

hello,my friends! This is python big data analysis, let's study.

我要用readline函數(shù)讀取該文件:

with open('a.txt') as f:print(f.readline())print(f.readline(5))f.close()

輸出:

readline方法會(huì)記住上一個(gè)readline函數(shù)讀取的位置,接著讀取下一行。

所以當(dāng)你需要遍歷文件每一行的時(shí)候,不妨使用readline方法吧!

readlines方法

readlines方法和readline方法長得像,但功能不一樣,前面說過readline方法只讀取一行,readlines方法則是讀取所有行,返回的是所有行組成的列表。

readlines方法沒有參數(shù),使用更加簡單。依舊以sample2.txt為例:

with open('a.txt') as f:print(f.readlines())f.close()

輸出:

write方法

write方法顧名思義,就是將字符串寫入到文件里。

它只有一個(gè)參數(shù):

f.write([str]) # f為文件對(duì)象

參數(shù)[str]代表要寫入的字符串

使用起來也很簡單,比如將下面字符串(注意里面的轉(zhuǎn)行符’\n’)

'hello,my friends!\nthis is python big data analysis'

寫入到文件sample3.txt里。

with open('sample3.txt','w') as f:f.write('hello,my friends!\nthis is python big data analysis')f.close()

輸出:

結(jié)語

本文講解了python文本讀寫open、close、read、readline、readlines、write函數(shù)方法的使用,你會(huì)用了嗎?

總結(jié)

以上是生活随笔為你收集整理的你还在为文件读写而烦恼?Python已经轻松帮你解决了(建议收藏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。