欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中readline判斷文件讀取結(jié)束的方法

 更新時(shí)間:2014年11月08日 12:31:14   投稿:shichen2014  
這篇文章主要介紹了python中readline判斷文件讀取結(jié)束的方法,實(shí)例形式詳細(xì)分析了Python中readline的用法,需要的朋友可以參考下

本文實(shí)例講述了python中readline判斷文件讀取結(jié)束的方法。分享給大家供大家參考。具體分析如下:

大家知道,python中按行讀取文件可以使用readline函數(shù),下面現(xiàn)介紹一個(gè)按行遍歷讀取文件的方法,通過這個(gè)方法,展開我們要討論的問題:

復(fù)制代碼 代碼如下:
filename = raw_input('Enter your file name')  #輸入要遍歷讀取的文件路徑及文件名
file = open(filename,'r')
done = 0
while not  done:
        aLine = file.readline()
        if(aLine != ''):
            print aLine,
        else:
            done = 1
file.close()   #關(guān)閉文件

上面是我們經(jīng)常看到的按行遍歷一個(gè)文件方法,你可能已經(jīng)注意到我在代碼中寫的if(aLine != '' ):部分。當(dāng)readline讀取到為空的時(shí)候,意味著讀到了文件的結(jié)束。這個(gè)時(shí)候,問題就在這里,很多人會(huì)想,是不是遇到一個(gè)空行,也會(huì)被認(rèn)為是文件的結(jié)束呢?這就引入了標(biāo)題的問題。

事實(shí)上,文件的空白行并不會(huì)返回一個(gè)空行。因?yàn)樵诿恳恍械哪┪策€有一個(gè)或者多個(gè)分隔符,因此“空白行”至少會(huì)有一個(gè)換行符或者系統(tǒng)使用的其他符號(hào)。所以,即使文件中真的包含一個(gè)“空白行”,讀入的行也不是空的,這就意味著在真實(shí)遍歷讀取到文件結(jié)束之前,程序?qū)嶋H上是不會(huì)停止的

readline() 和 .readlines() 非常相似。它們都在類似于以下的結(jié)構(gòu)中使用:
Python .readlines()

示例如下:

復(fù)制代碼 代碼如下:
fh = open('c:\autoexec.bat')
 for  line in  fh.readlines():
 print  line

       
.readline() 和 .readlines() 之間的差異是后者一次讀取整個(gè)文件,象 .read() 一樣。.readlines() 自動(dòng)將文件內(nèi)容分析成一個(gè)行的列表,該列表可以由 Python 的 for ... in ... 結(jié)構(gòu)進(jìn)行處理。另一方面,.readline() 每次只讀取一行,通常比 .readlines() 慢得多。僅當(dāng)沒有足夠內(nèi)存可以一次讀取整個(gè)文件時(shí),才應(yīng)該使用 .readline()。

readlines返回行數(shù)問題

官方文檔這樣寫的:
If the optional sizehint argument is present, instead of reading up to EOF, whole lines totalling approximately sizehint bytes (possibly after rounding up to an internal buffer size) are read.

確實(shí)是指定大小啊并且會(huì)受內(nèi)部緩沖區(qū)大小影響向上取整到內(nèi)部緩沖區(qū)大小。內(nèi)部緩沖區(qū)大約是8k也難怪我每次測(cè)試文件大小都是8k(8192)倍數(shù)

復(fù)制代碼 代碼如下:
#!/usr/bin/env python
f=open('a.txt').readlines(1)
open('b.txt','w').writelines(f)
open('c.txt','w').writelines(open('a.txt').readlines(200))
open('d.txt','w').writelines(open('a.txt').readlines(9200))
open('e.txt','w').writelines(open('a.txt').readlines(26000))
open('f.txt','w').writelines(open('a.txt').readlines(40000))

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python實(shí)現(xiàn)E-Mail收集插件實(shí)例教程

    Python實(shí)現(xiàn)E-Mail收集插件實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)E-Mail收集插件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2019-02-02
  • python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求

    python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求

    這篇文章主要介紹了python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求,涉及Python操作cookie的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • python接口,繼承,重載運(yùn)算符詳解

    python接口,繼承,重載運(yùn)算符詳解

    這篇文章主要給大家介紹了關(guān)于Python接口,繼承,重載運(yùn)算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Python?Prometheus接口揭秘?cái)?shù)據(jù)科學(xué)新技巧

    Python?Prometheus接口揭秘?cái)?shù)據(jù)科學(xué)新技巧

    本篇文章將分享Prometheus?API的基本概念到PromQL查詢語(yǔ)言的應(yīng)用,再到如何通過Python與Prometheus?API進(jìn)行無(wú)縫交互,通過豐富的示例代碼和詳細(xì)的講解,將解鎖使用Python進(jìn)行實(shí)時(shí)監(jiān)控的奇妙世界,為讀者打開更廣闊的數(shù)據(jù)分析視野
    2024-01-01
  • Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(2)

    Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(2)

    這篇文章主要為大家詳細(xì)介紹了Python中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 如何向scrapy中的spider傳遞參數(shù)的幾種方法

    如何向scrapy中的spider傳遞參數(shù)的幾種方法

    這篇文章主要介紹了如何向scrapy中的spider傳遞參數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python利用watchdog模塊監(jiān)控文件變化

    Python利用watchdog模塊監(jiān)控文件變化

    這篇文章主要為大家介紹一個(gè)Python中的模塊:watchdog模塊,它可以實(shí)現(xiàn)監(jiān)控文件的變化。文中通過示例詳細(xì)介紹了watchdog模塊的使用,需要的可以參考一下
    2022-06-06
  • Python爬蟲網(wǎng)頁(yè)元素定位術(shù)

    Python爬蟲網(wǎng)頁(yè)元素定位術(shù)

    這篇文章主要介紹了Python爬蟲網(wǎng)頁(yè)元素定位術(shù),文章通過Beautiful?Soup模塊展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對(duì)比)

    Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對(duì)比)

    這篇文章主要介紹了Python?利用for、while?實(shí)現(xiàn)循環(huán)最快方式,文章主要對(duì)for、while?等速度對(duì)比詳細(xì)介紹,具有一定的參考價(jià)值?,需要的小伙伴可以參考一下
    2022-01-01
  • python中的list字符串元素排序

    python中的list字符串元素排序

    這篇文章主要介紹了python中的list字符串元素排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論