fileinput

Python 读取大文件

不问归期 提交于 2019-11-28 10:55:45
简述 在处理大数据时,有可能会碰到好几个 G 大小的文件。如果通过一些工具(例如:NotePad++)打开它,会发生错误,无法读取任何内容。 那么,在 Python 中,如何快速地读取这些大文件呢? | 版权声明:一去、二三里,未经博主允许不得转载。 一般的读取 读取文件,最常见的方式是: with open ( 'filename' , 'r' , encoding = 'utf-8' ) as f: for line in f.readlines(): do_something( line ) 但是,当完成这一操作时, readlines() 方法( read() 也一样)会将整个文件加载到内存中。在文件较大时,往往会引发 MemoryError (内存溢出)。 那么,如何避免这个问题? 使用 fileinput 模块 稍微好点儿的方式是使用 fileinput 模块: import fileinput for line in fileinput.input([ 'filename' ]): do_something( line ) 调用 fileinput.input() 会按照顺序读取行,但是在读取之后不会将它们保留在内存中。 逐行读取 除此之外,也可使用 while() 循环和 readline() 来逐行读取: with open ( 'filename' , 'r'

Bootstrap文件上传组件:bootstrap fileinput

为君一笑 提交于 2019-11-27 04:13:20
前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了。前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签,效果不忍直视,于是博主下定决心要找一个好看的上传组件换掉它。既然bootstrap开源,那么社区肯定有很多关于它的组件,肯定也有这种常见的上传组件吧。经过一番查找,功夫不负有心人,还是被博主找到了这个组件:bootstrap fileinput。关于这个组件的简单应用,博客园大牛 伍华聪 写过一篇 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用 ,只不过很多细节都没有涉及,于是博主在完成开发任务之余,总结了下这个组件的一些常见用法。在此记录下,就算做个笔记吧,也给需要使用的朋友提供点方便。 源码以及API地址: bootstrap-fileinput源码: https://github.com/kartik-v/bootstrap-fileinput bootstrap-fileinput在线API: http://plugins.krajee.com/file-input bootstrap-fileinput Demo展示: http://plugins.krajee.com/file-basic