当前位置:首页 » 编程语言 » 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)

对于超大文件建议用逐行或分块的方式处理;逐行处理可能慢一些,但编码更简单清晰一点;上面给出的是按分块方式处理的。

热点内容
pspfifa无缓存 发布:2025-01-24 16:45:13 浏览:164
androidhandler机制 发布:2025-01-24 16:41:10 浏览:935
安卓系统如何下载aov 发布:2025-01-24 16:29:53 浏览:572
iptables允许ip访问 发布:2025-01-24 16:19:58 浏览:931
安卓80如何识别存储卡权限 发布:2025-01-24 16:19:54 浏览:231
存储介质价格 发布:2025-01-24 16:19:18 浏览:150
删除多个表sql 发布:2025-01-24 16:10:57 浏览:595
安卓设备版本哪里看 发布:2025-01-24 16:06:00 浏览:549
编译错误参数不可选 发布:2025-01-24 16:00:51 浏览:289
仓储软件用什么服务器 发布:2025-01-24 16:00:03 浏览:626