一文教你学会python读取文本及字符串常用操作
生活随笔
收集整理的這篇文章主要介紹了
一文教你学会python读取文本及字符串常用操作
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
python 讀取txt文件
打開(kāi)支付寶首頁(yè)搜索‘543701491’,領(lǐng)取馬云的支付寶紅包
Python的文本處理是經(jīng)常碰到的一個(gè)問(wèn)題,Python的txt文件讀取中,有三類(lèi)方法:read()、readline()、readlines(),這三種方法各有利弊,下面逐一介紹其使用方法和利弊。
read():
- read()是最簡(jiǎn)單的一種方法,一次性讀取文件的所有內(nèi)容放在一個(gè)大字符串中,即存在內(nèi)存中 file_object = open('test.txt') //不要把open放在try中,以防止打開(kāi)失敗,那么就不用關(guān)閉了 try:file_context = file_object.read() //file_context是一個(gè)string,讀取完后,就失去了對(duì)test.txt的文件引用# file_context = open(file).read().splitlines() // file_context是一個(gè)list,每行文本內(nèi)容是list中的一個(gè)元素 finally:file_object.close() //除了以上方法,也可用with、contextlib都可以打開(kāi)文件,且自動(dòng)關(guān)閉文件, //以防止打開(kāi)的文件對(duì)象未關(guān)閉而占用內(nèi)存
- read()的利端:
- 方便、簡(jiǎn)單
- 一次性獨(dú)讀出文件放在一個(gè)大字符串中,速度最快
- read()的弊端:
- 文件過(guò)大的時(shí)候,占用內(nèi)存會(huì)過(guò)大
readline():
- readline()逐行讀取文本,結(jié)果是一個(gè)list with open(file) as f:line = f.readline()while line:print lineline = f.readline()
- readline()的利端:
- 占用內(nèi)存小,逐行讀取
- readline()的弊端:
- 由于是逐行讀取,速度比較慢
readlines():
- **readlines()一次性讀取文本的所有內(nèi)容,結(jié)果是一個(gè)list with open(file) as f:for line in f.readlines():print line
- 這種方法讀取的文本內(nèi)容,每行文本末尾都會(huì)帶一個(gè)'\n'換行符 (可以使用L.rstrip('\n')去掉換行符)
- readlines()的利端:
- 一次性讀取文本內(nèi)容,速度比較快
- readlines()的弊端:
- 隨著文本的增大,占用內(nèi)存會(huì)越來(lái)越多
最簡(jiǎn)單、最快速的逐行處理文本的方法:直接for循環(huán)文件對(duì)象
file_object = open('test.txt','rU') try: for line in file_object:do_somthing_with(line)//line帶"\n" finally:file_object.close()如果對(duì)于讀取到的一行內(nèi)容要進(jìn)行分割,也很容易,可以使用split進(jìn)行分割
s='hello! my word' print s.split() #輸出結(jié)果為['hello!', 'my', 'word']如果是格式化的定長(zhǎng)的字符,也可以使用下標(biāo)進(jìn)行讀取,比如s=‘helloworld’,s[5:]讀到的就是'world'
?
總結(jié)
以上是生活随笔為你收集整理的一文教你学会python读取文本及字符串常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python爬取关注度高股票,Pytho
- 下一篇: 每个人都是自己的投资家