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设计】的支持。