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

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

热点内容
ftp服务应在哪里设置 发布:2025-02-24 08:12:08 浏览:177
keil编程编译时显示目标未创建 发布:2025-02-24 08:10:51 浏览:644
我的世界ec服务器怎么组 发布:2025-02-24 08:10:50 浏览:517
linuxnetbeans 发布:2025-02-24 08:03:42 浏览:748
云服务器搭建无线流量 发布:2025-02-24 08:00:11 浏览:637
营销型网站源码 发布:2025-02-24 08:00:05 浏览:352
招标服务器认电脑嘛 发布:2025-02-24 07:53:10 浏览:79
python取文件名 发布:2025-02-24 07:37:56 浏览:397
android与ios规范 发布:2025-02-24 07:24:05 浏览:914
c语言结束循环 发布:2025-02-24 07:21:53 浏览:430