Python linecache模块用法:随机读取文件指定行
2023-06-13 09:19:41 时间
除了可以借助 fileinput 模块实现读取文件外,Python 还提供了 linecache 模块。和前者不同,linecache 模块擅长读取指定文件中的指定行。换句话说,如果我们想读取某个文件中指定行包含的数据,就可以使用 linecache 模块。
值得一提的是,linecache 模块常用来读取 Python 源文件中的代码,它使用的是 UTF-8 编码格式来读取文件内容。这意味着,使用该模块读取的文件,其编码格式也必须为 UTF-8,否则要么读取出来的数据是乱码,要么直接读取失败(Python 解释器会报 SyntaxError 异常)。
要使用 linecache 模块,就必须知道其包含了哪些函数。linecache 模块中常用的函数及其功能如表 1 所示。
函数基本格式 | 功能 |
---|---|
linecache.getline(filename, lineno, module_globals=None) | 读取指定模块中指定文件的指定行(仅读取指定文件时,无需指定模块)。其中,filename 参数用来指定文件名,lineno 用来指定行号,module_globals 参数用来指定要读取的具体模块名。注意,当指定文件以相对路径的方式传给 filename 参数时,该函数以按照 sys.path 规定的路径查找该文件。 |
linecache.clearcache() | 如果程序某处,不再需要之前使用 getline() 函数读取的数据,则可以使用该函数清空缓存。 |
linecache.checkcache(filename=None) | 检查缓存的有效性,即如果使用 getline() 函数读取的数据,其实在本地已经被修改,而我们需要的是新的数据,此时就可以使用该函数检查缓存的是否为新的数据。注意,如果省略文件名,该函数将检车所有缓存数据的有效性。 |
举个例子:
import linecache import string #读取string模块中第 3 行的数据 print(linecache.getline(string.__file__, 3)) # 读取普通文件的第2行 print(linecache.getline('my_file.txt', 2))
在执行该程序之前,需保证 my_file.txt 文件是以 UTF-8 编码格式保存的(Python 提供的模块,通常编码格式为 UTF-8)。在此基础上,执行该程序,其输出结果为:
Public module variables:
http://c.biancheng.net/linux_tutorial/
相关文章
- pycharm所有文件中查找_python查找文件
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- python fileinput_Python之fileinput模块学习「建议收藏」
- python识别文字位置_如何利用Python识别图片中的文字
- 利用Python读取和修改Excel文件(包括xls文件和xlsx文件)——基于xlrd、xlwt和openpyxl模块
- python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」
- python之文件处理
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- 怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
- 【说站】python按行读取文件的方法比较
- 【说站】python shutil模块如何操作文件
- 【说站】python遍历查看csv文件
- python pkl文件_Python字符串格式化输出的方式包括
- python zipfile_Python 学习入门(16)—— zipfile
- 网工Python之路之paramiko 模块实验(七)回显保存成文件,Win中处理空行
- lambda表达式python_Python中的Lambda表达式「建议收藏」
- python判断文件后缀_Python 判断文件后缀是否被篡改
- Python修改文件后缀名[通俗易懂]
- 4 年时间让 Python 性能提升 5 倍
- 学python:使用python的pysam模块统计bam文件中spliced alignment的reads的数量
- 软件测试|一文教你学会Python文件 I/O 操作
- 【python实操】安装软件时候选择文件安装目录模块的实现方法
- Python fileinput模块:逐行读取多个文件
- Python文件拷贝详解编程语言
- Python抓取文件夹的所有文件,包括子文件夹和子文件夹的文件详解编程语言
- python通过PyGame绘制图像并保存为图片文件详解编程语言
- Python连接mongodb提取部分字段内数据并写入txt文件详解编程语言
- python通过http下载文件的方法详解编程语言
- 在Linux系统中使用Python编程语言(linux中python)
- python读取csv文件示例(python操作csv)
- python使用内存zipfile对象在内存中打包文件示例