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

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

热点内容
apmserv数据库 发布:2025-10-17 13:26:09 浏览:476
dota2机器人脚本哪个适合新手 发布:2025-10-17 13:25:57 浏览:180
linux重命名文件的命令 发布:2025-10-17 13:00:40 浏览:461
python飞机 发布:2025-10-17 13:00:38 浏览:716
普通电脑支持服务器硬盘 发布:2025-10-17 12:52:54 浏览:500
hdpiandroid 发布:2025-10-17 12:51:23 浏览:279
配置高的东西有哪些 发布:2025-10-17 12:48:57 浏览:356
老安卓手机用什么版本微信 发布:2025-10-17 12:39:45 浏览:394
四轴A轴编程 发布:2025-10-17 12:39:04 浏览:604
java关闭的连接 发布:2025-10-17 12:34:53 浏览:310