有关 Python 中的 File.readlines(sizehint) 函数
2007-05-19 23:21
736 查看
在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为 2GB 的机器上处理一个 2GB 的日志文件,我们可能希望每次只处理其中 200MB 的内容。
在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。以下面的代码为例:
每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。
在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。以下面的代码为例:
file = open('test.log', 'r') sizehint = 209715200 # 200M position = 0 lines = file.readlines(sizehint) while not file.tell() - position < 0: position = file.tell() lines = file.readlines(sizehint)
每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。
相关文章推荐
- 手把手教你学python3第八讲(OS模块有关文件系统的函数操作)
- Python3 print()函数sep,end,file参数用法练习
- python3 中print函数参数详解,print(*values, sep=' ', end='\n', file=sys.stdout, flush=False)中参数介绍
- python file.readlline和readlines区别
- 关于使用python的open函数出现No Such file or dir的错误
- Boost Python中exec,eval, exec_file, extract<>的函数形式和使用方法
- C++基础——有关FILE的那些函数
- Python 执行字符串表达式函数(eval exec execfile)
- python execfile()和locals()函数
- Python 内建函数 - print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- Linux中的file_struct、t命令以及atexit函数有关知识
- Python 执行字符串表达式函数(eval exec execfile)
- python file.readlines无法循环
- Python语言总结 4.2. 和字符串(str,unicode等)处理有关的函数
- python(2)readlines()函数的注意问题
- python read() readline() readlines()函数
- 有关Python线程、函数、锁相关的一个程序
- Python 内建函数 - open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None...)
- Python学习笔记:字符串(str)有关函数
- python--有关函数的问题