zoukankan      html  css  js  c++  java
  • 大文件读写

    1)  文件读取方式

    read()将文本文件所有行读到一个字符串中。

    readline()是一行一行的读

    readlines()是将文本文件中所有行读到一个list中,文本文件每一行是list的一个元素。优点:readline()可以在读行过程中跳过特定行。

    2)大文件读取方式1:分块读取

    将大文件分割成若干小文件处理,处理完每个小文件后释放该部分内存。这里用了iter 和 yield

    def read_in_chunks(filePath, chunk_size=1024*1024):

        file_object = open(filePath)

        while True:

            chunk_data = file_object.read(chunk_size)

            if not chunk_data:

                break

            yield chunk_data

           

    if __name__ == "__main__":

        filePath = './path/filename'

        for chunk in read_in_chunks(filePath):

            process(chunk)  # <do something with chunk>

    3)大文件读取方式2:for line in f

    l  with语句打开和关闭文件,包括抛出一个内部块异常。

    l  for line in f文件对象f视为一个迭代器,会自动的采用缓冲IO和内存管理,所以你不必担心大文件。

    with open(...) as f:

      for line in f:

        process(line)  # <do something with line>

    4)二进制文件读写

    对于文本数据,可以直接以“r”形式读写,但对于图片,音乐等等,这些东西都是有规则的二进制文件,读取方式是“rb”。

  • 相关阅读:
    为什么建立视图
    Oracle constraints type 约束类型
    python 环境
    查看oracle 数据库的编码格式
    trigger
    闪回操作 flashback
    row_number()over(partiton by order by ) rank() over(partition by order by )
    lag() 偏移
    date
    配置ES中IK分词器远程词库
  • 原文地址:https://www.cnblogs.com/yongfuxue/p/10036731.html
Copyright © 2011-2022 走看看