国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python linecache模塊

cnio / 3023人閱讀

摘要:今天分享一個(gè)的小模塊可以用它方便地獲取某一文件某一行的內(nèi)容。而且它也被模塊用來(lái)獲取相關(guān)源碼信息來(lái)展示。用法很簡(jiǎn)單第一參數(shù)是文件名,第二個(gè)參數(shù)是行編號(hào)。如果請(qǐng)求的行數(shù)超過(guò)文件行數(shù),函數(shù)不會(huì)報(bào)錯(cuò),而是返回空字符串。

linecache

今天分享一個(gè)python的小模塊: linecache, 可以用它方便地獲取某一文件某一行的內(nèi)容。而且它也被 traceback 模塊用來(lái)獲取相關(guān)源碼信息來(lái)展示。
用法很簡(jiǎn)單:

>>> import linecache
>>> linecache.getline("/etc/passwd", 4)
"sys:x:3:3:sys:/dev:/bin/sh
"

linecache.getline 第一參數(shù)是文件名,第二個(gè)參數(shù)是行編號(hào)。如果文件名不能直接找到的話,會(huì)從 sys.path 里找。

如果請(qǐng)求的行數(shù)超過(guò)文件行數(shù),函數(shù)不會(huì)報(bào)錯(cuò),而是返回""空字符串。
如果文件不存在,函數(shù)也不會(huì)報(bào)錯(cuò),也返回""空字符串。

linecache 會(huì)嘗試用緩存一些信息來(lái)優(yōu)化對(duì)文件的讀取。它還提供了兩個(gè)方法來(lái)處理緩存相關(guān)。

linecache.clearcache()   # 清除不再需要的linecache.getcache()獲取的內(nèi)容

linecache.checkcache([filename])  # 檢查文件在硬盤(pán)上是否有更新,如果有更新緩存。
                                  # 如果沒(méi)有提供文件名參數(shù),則檢查linecache緩存里所有的條目
其它

當(dāng)文件很大而只要讀取其中一行時(shí),如果采用linecache成為程序的瓶頸,也可以采用如下方法來(lái)獲得速度上一些提升:

def get_line(thefilepath, desired_line_number):
    if desired_line_number < 1: return ""
    for current_line_number, line in enumerate(open(thefilepath, "rU")):
        if current_line_number == desired_line_number -1:
            return line
    return ""

ps: 打開(kāi)文件的方式"rU"是以一種windows,mac,unix三個(gè)平臺(tái)同一的方式打開(kāi),都讀取成 n, 參照這里。

參考資料

https://docs.python.org/2/lib...

《Python Cookbook》Chapter2.4

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44299.html

相關(guān)文章

  • 使用Python解析nginx日志文件

    摘要:項(xiàng)目的一個(gè)需求是解析的日志文件。項(xiàng)目中已經(jīng)按照業(yè)務(wù)規(guī)則對(duì)日志文件進(jìn)行了處理命名規(guī)則如下并且所有的日志文件存放在統(tǒng)一路徑下。模塊使用緩存,所以會(huì)耗費(fèi)內(nèi)存,耗費(fèi)量與要解析的文件相關(guān)。剩下的工作就是根據(jù)業(yè)務(wù)需要,對(duì)獲得的基本信息進(jìn)行處理。 項(xiàng)目的一個(gè)需求是解析nginx的日志文件。 簡(jiǎn)單的整理如下: 日志規(guī)則描述 首先要明確自己的Nginx的日志格式,這里采用默認(rèn)Nginx日志格式: ...

    Baaaan 評(píng)論0 收藏0
  • 使用Python解析nginx日志文件

    摘要:項(xiàng)目的一個(gè)需求是解析的日志文件。項(xiàng)目中已經(jīng)按照業(yè)務(wù)規(guī)則對(duì)日志文件進(jìn)行了處理命名規(guī)則如下并且所有的日志文件存放在統(tǒng)一路徑下。模塊使用緩存,所以會(huì)耗費(fèi)內(nèi)存,耗費(fèi)量與要解析的文件相關(guān)。剩下的工作就是根據(jù)業(yè)務(wù)需要,對(duì)獲得的基本信息進(jìn)行處理。 項(xiàng)目的一個(gè)需求是解析nginx的日志文件。 簡(jiǎn)單的整理如下: 日志規(guī)則描述 首先要明確自己的Nginx的日志格式,這里采用默認(rèn)Nginx日志格式: ...

    bawn 評(píng)論0 收藏0
  • 最流行的Python模塊庫(kù)大全【收藏】

    摘要:轉(zhuǎn)自程序員的資料庫(kù)最流行的模塊庫(kù)大全收藏下面的列表是最流行的模塊庫(kù),該資源列表列出了使用頻率最高的模塊庫(kù),是學(xué)習(xí)最好的資源之一,趕緊收藏吧 轉(zhuǎn)自:程序員的資料庫(kù)-最流行的Python模塊庫(kù)大全【收藏】 下面的列表是最流行的Python模塊庫(kù),該P(yáng)ython資源列表列出了使用頻率最高的Python模塊庫(kù),是學(xué)習(xí)Python最好的資源之一,趕緊收藏吧!! os (2810) ...

    Caizhenhao 評(píng)論0 收藏0
  • Python_異常和模塊

    摘要:例如等價(jià)于到結(jié)束,但不包括。例如返回沒(méi)有每次跳躍的間距,默認(rèn)為。 異常處理 單個(gè)異常處理: try: print(num) except NameError: print(沒(méi)有定義變量) except FileNotFoundError: print(找不到文件路徑) print(1) 多個(gè)異常處理: try: print(num) # 1...

    piglei 評(píng)論0 收藏0
  • Python標(biāo)準(zhǔn)庫(kù)系列之模塊介紹

    摘要:的模塊其實(shí)就是封裝了一個(gè)或者多個(gè)功能的代碼集合,以便于重用,模塊可以是一個(gè)文件也可以是一個(gè)目錄,目錄的形式稱作包。已經(jīng)導(dǎo)入的模塊會(huì)保存在字典中。 Python的模塊其實(shí)就是封裝了一個(gè)或者多個(gè)功能的代碼集合,以便于重用,模塊可以是一個(gè)文件也可以是一個(gè)目錄,目錄的形式稱作包。 模塊分類 內(nèi)置模塊 內(nèi)置模塊可以理解成當(dāng)你安裝好python環(huán)境之后,直接可以使用import導(dǎo)入的就是內(nèi)置模塊,...

    v1 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<