當前位置:首頁 » 編程語言 » linecachepython

linecachepython

發布時間: 2023-12-08 17:10:28

① 輸入python報錯

這應該是你安裝版本沒有裝全。一般情況下,輸入python會出現你安裝的python版本號,如果輸入where python的話,可查看python安裝在哪個目錄下。

② python如何隨機讀取一行

#!/usr/bin/envpython
#coding:utf-8

defgetfilelines(filename,eol=' ',buffsize=4096):
"""計算給定文件有多少行"""
withopen(filename,'rb')ashandle:
linenum=0
buffer=handle.read(buffsize)
whilebuffer:
linenum+=buffer.count(eol)
buffer=handle.read(buffsize)
returnlinenum


defreadtline(filename,lineno,eol=" ",buffsize=4096):
"""讀取文件的指定行"""
withopen(filename,'rb')ashandle:
readedlines=0
buffer=handle.read(buffsize)
whilebuffer:
thisblock=buffer.count(eol)
ifreadedlines<lineno<readedlines+thisblock:
#inthisblock:findthelinecontent,andreturnit
returnbuffer.split(eol)[lineno-readedlines-1]
eliflineno==readedlines+thisblock:
#needcontinuereadlinerestpart
part0=buffer.split(eol)[-1]
buffer=handle.read(buffsize)
part1=buffer.split(eol)[0]
returnpart0+part1
readedlines+=thisblock
buffer=handle.read(buffsize)
else:
raiseIndexError


defgetrandomline(filename):
"""讀取文件的任意一行"""
importrandom
returnreadtline(
filename,
random.randint(0,getfilelines(filename)),
)


if__name__=="__main__":
importsys
importos
iflen(sys.argv)==1:
printgetrandomline("/home/tim/documents/users.csv")
else:
forfinfilter(os.path.isfile,sys.argv[1:]):
printgetrandomline(f)

對於超大文件建議用逐行或分塊的方式處理;逐行處理可能慢一些,但編碼更簡單清晰一點;上面給出的是按分塊方式處理的。

熱點內容
走心機編程教學 發布:2025-07-01 15:34:30 瀏覽:219
安卓系統哪個bug最少 發布:2025-07-01 15:34:16 瀏覽:777
不是安卓怎麼讓時間顯示在屏幕上 發布:2025-07-01 15:20:54 瀏覽:509
黃岩數控編程培訓 發布:2025-07-01 15:12:30 瀏覽:979
迷宮尋路演算法 發布:2025-07-01 15:12:29 瀏覽:544
微信視頻緩存目錄 發布:2025-07-01 14:58:59 瀏覽:393
vmwarelinux教程 發布:2025-07-01 14:50:33 瀏覽:498
名詞解釋預演算法 發布:2025-07-01 14:34:36 瀏覽:918
iis文件拒絕訪問 發布:2025-07-01 14:34:20 瀏覽:570
蘋果和安卓相比哪個游戲多 發布:2025-07-01 14:24:16 瀏覽:762