最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Pythonlinecache模块

来源:动视网 责编:小采 时间:2020-11-27 14:27:49
文档

Pythonlinecache模块

Pythonlinecache模块:linecache今天分享一个python的小模块: linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。用法很简单:>>> import linecache >>> linecache.get
推荐度:
导读Pythonlinecache模块:linecache今天分享一个python的小模块: linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。用法很简单:>>> import linecache >>> linecache.get


linecache

今天分享一个python的小模块: linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。
用法很简单:

>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh
'

linecache.getline 第一参数是文件名,第二个参数是行编号。如果文件名不能直接找到的话,会从 sys.path 里找。

如果请求的行数超过文件行数,函数不会报错,而是返回''空字符串。如果文件不存在,函数也不会报错,也返回''空字符串。

linecache 会尝试用缓存一些信息来优化对文件的读取。它还提供了两个方法来处理缓存相关。

linecache.clearcache() # 清除不再需要的linecache.getcache()获取的内容

linecache.checkcache([filename]) # 检查文件在硬盘上是否有更新,如果有更新缓存。
 # 如果没有提供文件名参数,则检查linecache缓存里所有的条目

其它

当文件很大而只要读取其中一行时,如果采用linecache成为程序的瓶颈,也可以采用如下方法来获得速度上一些提升:

def get_line(thefilepath, desired_line_number):
 if desired_line_number < 1: return ''
 for current_line_number, line in enumerate(open(thefilepath, 'rU')):
 if current_line_number == desired_line_number -1:
 return line
 return ''

ps: 打开文件的方式'rU'是以一种windows,mac,unix三个平台同一的方式打开,都读取成 n

文档

Pythonlinecache模块

Pythonlinecache模块:linecache今天分享一个python的小模块: linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。用法很简单:>>> import linecache >>> linecache.get
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top