当前位置:首页 » 编程语言 » 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 16:53:15 浏览:181
java8的接口 发布:2025-07-01 16:53:14 浏览:779
hxd压缩 发布:2025-07-01 16:50:10 浏览:426
app页面源码 发布:2025-07-01 16:39:04 浏览:84
安卓游戏语音包在哪里 发布:2025-07-01 16:11:41 浏览:75
走心机编程教学 发布:2025-07-01 15:34:30 浏览:222
安卓系统哪个bug最少 发布:2025-07-01 15:34:16 浏览:783
不是安卓怎么让时间显示在屏幕上 发布:2025-07-01 15:20:54 浏览:516
黄岩数控编程培训 发布:2025-07-01 15:12:30 浏览:981
迷宫寻路算法 发布:2025-07-01 15:12:29 浏览:546