返回文件的行號,enumerate參數

如果要統計文件的行數,可以這樣寫:
count = len(open(filepath, 'r').readlines())
這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。

可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')): 
   count += 1

enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。

可 添加 start 參數。

語法

以下是 enumerate() 方法的語法:

enumerate(sequence, [start=0])
  • sequence -- 一個序列、迭代器或其他支持迭代對象。
  • start -- 下標起始位置。

實戰-----------------------------------------------------------------

我想返回敏感詞所在的行號

f = open(path, 'rb')
for (num, value) in enumerate(f):
    num += 1

num就爲行號,第幾行

 

 

 

 

PS:精確查找敏感詞

re.findall('([^a-zA-Z0-9_]|\s| )' + item['words_data'] + '([^a-zA-Z0-9_]|\s| )'

 

 

 

 

 

發佈了22 篇原創文章 · 獲贊 9 · 訪問量 9452
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章