Skip to main content
 Web开发网 » 编程语言 » Python语言

代码课堂|关于Python读文件的几种方法的比较

2021年11月28日510百度已收录

在使用Python读inp文件时,之前用的readlines方法,但是readlines方法占用内存会比较大,规模较小时还行,如果inp文件中网格数比较大,效率就会降低。

Python读文件有几种方式,1. readlines;2. readline; 3. 文件迭代方式。

内存占用情况用memory_profiler包来监测,测试代码如下(第4行的@会导致Python代码粘过来识别成其他语言了,所以还是贴图吧):

代码课堂|关于Python读文件的几种方法的比较  python怎么读 第1张

关注技术邻官网,学习更多免费工科课程

测试结果如下图所示,可知使用readlines会占用较大的内存,这是以为readlines将文件中的所有行保存为一个列表,而第2、3中方法使用的是遍历的方法,占用内存会比较小。另外,还可以通过监测程序运行时间来对比这三种方法的执行速度,个人认为第三种要比前两种快,但是没有测试,如果有兴趣可以利用datetime模块测试一下。

代码课堂|关于Python读文件的几种方法的比较  python怎么读 第2张

关注技术邻官网,学习更多免费工科课程

在平时使用中个人推荐第三种方式。并且将print语句改为“yield line”,就是一个生成器,调用一次Getlines3就获得文件中下一行内容,非常方便,代码量也比readlines或readline要少。

评论列表暂无评论
发表评论
微信