Python从文件中读取指定的行以及在文件指定位置写入

yipeiwu_com6年前Python基础

Python从文件中读取指定的行

如果想根据给出的行号, 从文本文件中读取一行数据,  Python标准库linecache模块非常适合这个任务:

测试文件内容 :

This is line 1.
This is line 2.
This is line 3.
This is line 4.
This is line 5.
This is line 6.
This is line 7.
This is line 8.

测试代码:

>>> import linecache
>>> file_path = r'D:\work\python\test.txt'
>>> line_number = 5
>>> def get_line_context(file_path, line_number):
...  return linecache.getline(file_path, line_number).strip()
...
>>> get_line_context(file_path, line_number)
'This is line 5.'
>>>

对于这个任务来说,标准的linecache模块是Python能够提供的最佳解决方案。

利用python在文件中的指定位置写入

import os 
file = open( "a.txt", "r" ) 
file_add = open("a.txt","r") 
content = file.read() 
content_add = file_add.read() 
pos = content.find( "buildTypes")
if pos != -1: 
  content = content[:pos] + content_add + content[pos:] 
  file = open( "a.txt", "w" ) 
  file.write( content ) 
  file.close() 
  file_add.close() 

与find用法相同的还有rfind方法,不同的是rfind方法是从文件末尾开始搜索。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python单例设计模式实现解析

python单例设计模式实现解析

这篇文章主要介绍了python单例设计模式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 所谓单例,就是让类创建对象的时候,在...

编写Python小程序来统计测试脚本的关键字

通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数、业务函数需要修改,那么势必要找出那些引用过这个被修改函数的地方,有些IDE支持全...

python对离散变量的one-hot编码方法

我们在进行建模时,变量中经常会有一些变量为离散型变量,例如性别。这些变量我们一般无法直接放到模型中去训练模型。因此在使用之前,我们往往会对此类变量进行处理。一般是对离散变量进行one-h...

Python应用03 使用PyQT制作视频播放器实例

Python应用03 使用PyQT制作视频播放器实例

最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT实...

python pytest进阶之fixture详解

前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytes...