• python 文件操作


    python 文件操作:

    打开文件

    读写文件

     

     

    myfile = open(包含文件名的文件路径,打开权限)

    会返回一个文件对象

     

    文件都是在磁盘上的,我们需要把他放到内存中,

     

     

    str = read(num) 读取文件放到字符串变量中 其中的num 就是要读取的字节数 不填为全读

     

     

    seek()函数 ,修改访问文件位置.

     

    file.seek(offset[,whence])

    offset:偏移量

    whence:从哪里

    0表示从头开始计算,

    1表示以当前位置为原点计算

    2表示以文件末尾为原点进行计

    需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 

     

    myfile.seek(0,0) #回到了文件的开头

     

    #如果说你操作到了一个文件没有的位置,那么

    # ValueError: negative seek position -1

     

    在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常

    #io.UnsupportedOperation: can't do nonzero end-relative seeks

    #b模式  binary  二进制打开文件

     

    str = readline() 顾名思义 读取一行,把内容放到一个字符串变量中

    Read until newline or EOF.

    直到读到一个新行,或者EOF , EOF是文件结束的标志

    #while (file !=EOF

     

    换行符的几个版本:

        类Unix

      windows

        老版本的mac os

     

     

    myfile.tell()  用来返回当前读取文件的指针位置

    ell() method of _io.TextIOWrapper instance

       Return current stream position.

     

    strlist = readlines(size) 读取整个文件到字符串列表

     

    字符串列表: [abc,cde,abasd]

     

    每次调用 readlines(size) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 size 指定的值大一点(除最后一次调用 readlines(size) 函数的时候)。通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍

    这个函数内部也就通过循环调用readline()来实现的

    确保一行:Read until newline or EOF.

     

    pandas 熊猫们 python库 数据分析 大数据

     

     

    v 空格不可见字符

    >>> mystr = 'abc '

    >>> mystr

    'abc '

    >>> mystr.strip()

    'abc'

    >>> mystr

    'abc '

     

    ----------------------------------------------以上是python的读操作------------------------------------------------------

     

     

    myfile.write(str):文件中写入字符串

    当你使用写模式打开文件的时候,会将文件之前的内容清空掉,截断。

     

    缓冲区:

    当你从输入设备或者之后用一些重定向,写文件的方式,给磁盘上的文件写内容的时候,其实是写到了缓冲区中,缓冲区有大小,

    1、 当缓冲区满了之后,我们写的数据,才会真正的到达磁盘文件

    2、 我们可以使用 myfile.flush() 用来刷新缓冲区,

    3、 关闭文件,也会刷新缓冲区。

    IO流  向屏幕输出, 向文件输入  黑盘:对于数据在磁盘上的重复读写 ,普通硬盘

     

    1、python中的写操作不会默认给你追加换行符

    2、python中的写不会覆盖之前的内容,只有我们重新打开文件在使用 w 模式的时候,文件内容才会被覆盖

     

    myfile.writelines()

    在文件中可以写入一个字符串元组或者是字符串列表

     

    如果列表或者元组中 不是字符串:

    TypeError: write() argument must be str, not int

     

    writelines == readlines

    他都是用write 和 readline 使用for循环的方式来实现的

     

    with as 和open的区别

     

    with as会自动帮你做内存释放工作,

    open不会

  • 相关阅读:
    数据挖掘、机器学习、人工智能学习笔记
    SQL Server 定价及授权方式
    数据仓库的架构以及数据分层【转】
    java各历史版本官网下载
    VMware三个版本workstation、server、esxi的区别
    顶级项目孵化的故事系列——Kylin的心路历程【转】
    Oracle数据库学习笔记
    数据仓库学习笔记
    多维数据库介绍【转】
    ROLAP、MOLAP和HOLAP区别
  • 原文地址:https://www.cnblogs.com/waterr/p/14502232.html
Copyright © 2020-2023  润新知