python读写文件的流程 代码课堂关于Python读文件的几种方法的比较

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

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

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

python读写文件的流程 代码课堂关于Python读文件的几种方法的比较(1)

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

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

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

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页