溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python獲取文件指定行內(nèi)容的方法

發(fā)布時(shí)間:2020-07-21 14:02:12 來源:億速云 閱讀:213 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了Python獲取文件指定行內(nèi)容的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

linecache, 可以用它方便地獲取某一文件某一行的內(nèi)容。而且它也被 traceback 模塊用來獲取相關(guān)源碼信息來展示。

用法很簡單:

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

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

如果請求的行數(shù)超過文件行數(shù),函數(shù)不會報(bào)錯(cuò),而是返回''空字符串。

如果文件不存在,函數(shù)也不會報(bào)錯(cuò),也返回''空字符串。

# Python的標(biāo)準(zhǔn)庫linecache模塊非常適合這個(gè)任務(wù)
import linecache
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)
# linecache讀取并緩存文件中所有的文本,
# 若文件很大,而只讀一行,則效率低下。
# 可顯示使用循環(huán), 注意enumerate從0開始計(jì)數(shù),而line_number從1開始
def getline(the_file_path, line_number):
 if line_number < 1:
  return ''
 for cur_line_number, line in enumerate(open(the_file_path, 'rU')):
  if cur_line_number == line_number-1:
   return line
 return ''

方法擴(kuò)展:

'''
遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書!
'''
# Python的標(biāo)準(zhǔn)庫linecache模塊非常適合這個(gè)任務(wù)
import linecache
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)
# linecache讀取并緩存文件中所有的文本,
# 若文件很大,而只讀一行,則效率低下。
# 可顯示使用循環(huán), 注意enumerate從0開始計(jì)數(shù),而line_number從1開始
def getline(the_file_path, line_number):
 if line_number < 1:
  return ''
 for cur_line_number, line in enumerate(open(the_file_path, 'rU')):
  if cur_line_number == line_number-1:
   return line
 return ''
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)

看完上述內(nèi)容,是不是對Python獲取文件指定行內(nèi)容的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI