日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

利用python進(jìn)行文件操作

瀏覽:24日期:2022-07-03 11:19:29

作者: wyh草樣

出處:https://www.cnblogs.com/wyh0923/p/14084898.html

什么是文件

文件是系統(tǒng)存儲(chǔ)區(qū)域的一個(gè)命名位置,用來存儲(chǔ)一些信息,便于后續(xù)訪問。能夠在非易失性存儲(chǔ)器中實(shí)現(xiàn)持續(xù)性存儲(chǔ),比如在硬盤上。當(dāng)我們要讀取或者寫入文件時(shí),我們需要打開文件;在操作完畢時(shí),我們需要關(guān)閉文件,以便釋放和文件操作相關(guān)的系統(tǒng)資源,因此,文件操作的主要包括以下:

打開文件

讀取或者寫入 關(guān)閉文件 打開文件

Python使用內(nèi)置的open()函數(shù)打開一個(gè)文件,并且返回一個(gè)文件對象,也叫句柄(handle)。

f = open('test.txt') # 在本文件夾下面的一個(gè)文件f = open('C:/Python33/README.txt') # 全路徑

再打開文件時(shí),我們需要指定文件打開的模式,當(dāng)我們需要讀取文件時(shí),使用f = open('test.txt', ’r’),寫入文件時(shí),使用f = open('test.txt', ’w’),追加輸入時(shí)f = open('test.txt', ’a’),這里的a就是append的意思。追加模式和寫入模式的區(qū)別就是,寫入模式打開一個(gè)文件時(shí),無論這個(gè)文件是否有內(nèi)容,都會(huì)被清空再寫入;在使用追加模式時(shí),打開的文件,只是在原有的內(nèi)容上繼續(xù)進(jìn)行寫入。同時(shí)我們也要制定以文本模式打開還是二進(jìn)制模式打開。

文本模式(text mode)和二進(jìn)制(binary mode)模式的區(qū)別

文本模式中,讀取時(shí)操作系統(tǒng)的換行符(’n’ on Unix,’rn’ on Windows)會(huì)被轉(zhuǎn)換成Python的默認(rèn)換行符n,寫入時(shí)會(huì)將默認(rèn)的換行符轉(zhuǎn)換為操作系統(tǒng)的換行符;在二進(jìn)制模式中不會(huì)轉(zhuǎn)換。這個(gè)轉(zhuǎn)化在對文本文件沒有影響,但是對于二進(jìn)制數(shù)據(jù)會(huì)有影響,比如圖像文件或者EXE文件等。因此, 再打開這類文件時(shí),一般使用二進(jìn)制模式進(jìn)行讀寫

常用模式

r 文本模式,讀取 rb 二進(jìn)制模式,讀取 w 文本模式,寫入 wb 二進(jìn)制模式,寫入 a 文本模式,追加 ab 二進(jìn)制模式,追加 + 可讀可寫

f = open('test.txt', ’r’) # 讀模式f = open('test.txt', ’w’) # 寫模式f = open('img.bmp',’r+’) # 可讀可寫f = open('img.bmp',’w+’) # 可讀可寫f = open('img.bmp',’rb’) # 二進(jìn)制讀取

如何關(guān)閉文件

當(dāng)文件操作結(jié)束時(shí),我們最好主動(dòng)關(guān)閉文件。盡管Python有垃圾回收(garbage collector)機(jī)制,去清理不用的對象,但是最好還是自己關(guān)閉文件。最簡單的方法就是:

f = open('app.log', ’r’)do_something()f.close()

但是這個(gè)辦法不安全,因?yàn)樵谶M(jìn)行其他操作時(shí),可能會(huì)出現(xiàn)異常,程序退出,那么關(guān)閉文件的語句就不會(huì)被執(zhí)行。因此,可以用語句來處理:

try: f = open(’app.log’, ’r’) do_something()finally: f.close()

無論是否發(fā)生異常,關(guān)閉文件的指令都會(huì)被執(zhí)行。但是python官方給出的最佳用法是:

with open(’app.log’, ’r’) as f: do_something()

使用這種用法,我們不必調(diào)用close()方法,在with語句程序內(nèi)部就會(huì)執(zhí)行,無論內(nèi)部是否出現(xiàn)異常。with語句被稱為上下文管理器,我們可以暫且不管這個(gè)的原理,只需要知道使用with語句,關(guān)閉文件的操作會(huì)被自動(dòng)執(zhí)行,這也是官方推薦的最佳用法,比用語句寫起來簡單。

文件操作

寫入文件主要介紹兩個(gè)方法:

1.write()方法這個(gè)方法的參數(shù)是一個(gè)單獨(dú)的字符串,比如:

lines = [’line1’, ’line2’]with open(’filename.txt’, ’w’) as f: s = ’’ for data in lines: s += data s += ’n’ f.write(s)

其實(shí)更好的寫法是使用join函數(shù):

lines = [’line1’, ’line2’]with open(’filename.txt’, ’w’) as f: f.write(’n’.join(lines))

其實(shí)更加優(yōu)雅的寫法,可以使用生成器:

lines = [’line1’, ’line2’]with open(’filename.txt’, ’w’) as f: f.writelines('%sn' % l for l in lines)

讀取文件

這里介紹四種用法,后面都默認(rèn)文件已經(jīng)被打開了:1.read()方法

result = f.read()

這里返回的是文件內(nèi)容,是str類型的結(jié)果,這個(gè)方法還帶一個(gè)數(shù)值類型的參數(shù),指定讀取多少內(nèi)容,如果省略了或者是負(fù)數(shù),那么就返回文件的全部內(nèi)容。2.readline()方法

result = f.readline()

返回的也是字符串,不過是一行內(nèi)容,繼續(xù)調(diào)用,就會(huì)返回下一行內(nèi)容3.readlines()方法

result = f.readlines()

這里返回的是一個(gè)列表,但是當(dāng)數(shù)據(jù)較大時(shí),這樣的用法會(huì)很占用內(nèi)存,不推薦在數(shù)據(jù)量大時(shí)使用4.直接循環(huán)文件對象

for line in f: print line do_something()

這樣的用法節(jié)省內(nèi)存,快速,并且代碼還簡單

result = f.readlines()------------------------result = list(f)

這兩種寫法返回的結(jié)果是一樣的顯然我們推薦第四種用法。

如何處理大文件大文件主要問題在于占用內(nèi)存較大,我們不能一下子將文件全部內(nèi)容讀入內(nèi)存,最好的做法如下:

with open('log.txt') as f: for line in f: do_something_with(line)

一行一行讀取,內(nèi)存不會(huì)爆,同時(shí)速度也更快,使用with語句,無論內(nèi)部是否出現(xiàn)異常,在結(jié)束時(shí),文件對象都會(huì)被關(guān)閉,因此在處理大文件時(shí),最好這樣來做。

以上就是利用python進(jìn)行文件操作的詳細(xì)內(nèi)容,更多關(guān)于python 文件操作的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品久久久网| 久久激情网站| 在线看片一区| 日韩 欧美一区二区三区| 免费看欧美美女黄的网站| 日韩中文字幕视频网| 欧美天堂一区二区| 成人在线黄色| 一区二区三区视频免费观看| 99在线精品免费视频九九视 | 好看的亚洲午夜视频在线| 欧美特黄一区| 欧美日韩一区二区三区不卡视频| 国产一精品一av一免费爽爽| 精品国产美女a久久9999| 欧美日韩国产传媒| 日韩精品中文字幕吗一区二区 | 欧美日韩国产一区精品一区| 亚洲欧洲av| 国产精品片aa在线观看| 国产福利片在线观看| 伊人成人网在线看| 国产精品一区二区av日韩在线| 亚洲最新无码中文字幕久久| 国产女优一区| 国产剧情在线观看一区| 99精品一区| 国产欧美激情| 国产精品普通话对白| 精品国产欧美| 日本少妇一区二区| 国内精品福利| 国产一区二区三区网| 日韩精品五月天| 欧美日韩一区二区综合| 国产欧美日韩免费观看| 亚洲深夜福利| 婷婷成人综合| 欧美三级网址| 国产成人精品三级高清久久91 | 婷婷成人在线| 动漫av一区| 狠狠久久伊人| 国产精品4hu.www| 日韩国产在线一| 中文字幕一区二区三区在线视频| 在线国产一区二区| 欧美日韩中文字幕一区二区三区| 久久精品毛片| 日韩精品久久理论片| 三级亚洲高清视频| 亚洲一区二区三区无吗| 国产精品人人爽人人做我的可爱| 国内精品福利| 国产视频一区免费看| 亚洲特级毛片| 99国产精品视频免费观看一公开 | 色吊丝一区二区| 日韩在线欧美| 韩国精品主播一区二区在线观看| 天堂资源在线亚洲| 中文字幕日韩高清在线| 欧美在线看片| 石原莉奈在线亚洲三区| 免费日韩av片| 亚洲精品乱码| 日韩二区三区在线观看| 欧美久久久网站| 免费一级欧美在线观看视频| 精品久久不卡| 激情综合自拍| 香蕉精品999视频一区二区| 美女网站久久| 国产精品黄色| 亚洲v在线看| 亚洲精品裸体| 国模大尺度视频一区二区| 亚洲成人va| 日本成人在线视频网站| 欧美激情三区| 免费黄网站欧美| 美女视频黄免费的久久| 精品在线99| 国产乱码精品一区二区三区四区| 国产精品毛片久久| 视频一区免费在线观看| 国产精品探花在线观看| 久久精品影视| 91伊人久久| 日韩电影免费在线观看| 日本欧美在线看| 91一区二区三区四区| 日av在线不卡| 日韩黄色大片网站| 日韩中文字幕| 亚洲福利免费| 国产精品欧美日韩一区| 天堂成人国产精品一区| 国产精品麻豆久久| 国产精品一区毛片| 在线观看视频免费一区二区三区| 成人午夜亚洲| 日本不卡的三区四区五区| 欧美另类综合| 久久中文字幕av| 国产高清不卡| 久久99国产精品视频| 亚洲精品激情| 美国三级日本三级久久99| 久久五月天小说| 日韩激情一区| 欧美激情另类| 久久精品国产久精国产| 国产精品一区二区三区美女 | 亚洲欧美日韩国产一区| 中文字幕在线免费观看视频| 国产精品地址| 国产精品自在| 欧美久久久网站| 日本不卡视频一二三区| 亚洲专区视频| 日韩在线观看中文字幕| 天堂va蜜桃一区二区三区| 国产午夜精品一区二区三区欧美| av资源新版天堂在线| 久久91导航| 蜜臀av免费一区二区三区| 亚洲综合在线电影| 九九色在线视频| 亚洲精品一区二区妖精| 视频一区二区三区中文字幕| 水野朝阳av一区二区三区| 久久福利毛片| 日韩av三区| 久久精品国产网站| 欧美日韩免费观看视频| 亚洲成人二区| 视频在线在亚洲| 欧美欧美黄在线二区| 国产精品久久久久久久久久齐齐| 精品亚洲成人| 91精品高清| 日本欧美久久久久免费播放网| 欧美激情五月| 亚洲国产日韩欧美在线| 日韩三级一区| 精品国产欧美日韩一区二区三区| 国产专区一区| 国产日韩三级| 一区二区三区四区在线看| 亚洲精品系列| 日韩伦理福利| 欧美一区激情| 国产一区日韩一区| 欧美一级一区| 欧美成人国产| 国产精品tv| 国产毛片一区| 日韩a一区二区| 日本在线一区二区三区| 99精品视频在线| 精品久久一区| 日韩中文字幕在线一区| 91精品一区国产高清在线gif| 亚洲资源网站| 99riav国产精品| 日本在线高清| 日韩av免费大片| 国产精品欧美在线观看| 亚洲国产日韩欧美在线| 超碰在线99| 国产精品日本一区二区不卡视频| 在线综合亚洲| 极品日韩av| 99久久www免费| 国产精品高颜值在线观看| 国产精品久久久久久av公交车| 国产亚洲网站| 99视频+国产日韩欧美| 日韩美女一区二区三区在线观看| 国产精品sm| 国产精品任我爽爆在线播放 | 国产视频一区在线观看一区免费| 国产精品视频一区二区三区| 日本中文字幕视频一区| 国产亚洲亚洲| 亚洲欧美综合| 亚洲作爱视频| 丝袜诱惑制服诱惑色一区在线观看| 日本高清不卡一区二区三区视频| av资源中文在线| 久久久久免费av| 久久中文字幕av一区二区不卡| 亲子伦视频一区二区三区| 欧美日韩视频免费观看| 免费国产自久久久久三四区久久| 综合日韩av| 亚洲天堂久久| 日韩中文欧美在线| 久久国产精品色av免费看|