zoukankan      html  css  js  c++  java
  • Python 文件对象

    Python 文件对象

    1)
    内置函数 open() 用于打开和创建文件对象

    open(name,[,mode[,bufsize]])
        文件名、模式、缓冲区参数
    
          mode:
                 r     只读
                 w     写入
                 a     附加 
                 使用 + 同时支持输入、输出操作  r+   w+   a+
                 附加 b 表示以二进制方式打开    rb   wb   ab
          bufsize:
                0       禁用缓冲
                1       使用缓冲,仅缓冲一行数据
                负数    使用系统默认缓冲
                正数    指定缓冲空间大小
      
       例如: file1 = open('/etc/fstab',r+)   
              
              注意使用  r  r+  不能打开不存在的文件会产生IO错误
    

    2)文件的属性

        f.closed        显示文件是否关闭
        f.name          显示当前名称
        f.encoding      编码格式
        f.mode          当前文件打开模式
        f.softspace     在使用print语句时,是否在一个值之前打印空格,默认为0。若需打印则   f.softspace = 1
        f.newlines      返回到当前为止读取到的行结束符字串,若无行分隔符则为None
    

    3)文件的方法

       f.tell()         当前指针在文件中字节位置        f.tell(0)  
       f.next()         迭代显示,不会移动指针
       f.close()        关闭文件
       f.fileno()       返回文件描述符
       f.readline()     读取返回一行,会移动指针
       f.readlines()    以列表形式返回所有行
       f.read()         读n个字节       f.read(10)
       f.write()        写入数据
                             注意:    文件方法read()等在读取文件时,会一并读取其行结束符
                                      文件方法write()执行写出操作时,不会自动为其添加行结束符
       f.writelines()   将列表中所有字串当做一行写入    
                            import os
                            l1 = os.listdir('/etc')
                            f1.writelines(l1)
                            f1.flush()
                            以上输出为一行
                            l2 = [ i + '
    ' for i in os.listdir('/etc')]
                            f1.writelines(l2)
                            f1.flush()
                            此方法会保证每个字串一行,用列表解析的方式在每次循环后加入换行符
      f.isatty()        是否为终端设备文件
      f.truncate()      截取n个字节
                            f1.truncate(10)         截取10个字节
                            f1.truncate(f1.tell())  只截取到当前指针处
      f.seek(offset[,whence])      指针偏移位置
    		whence: 起点
    			0: 从文件头
    			1:从当前位置
    			2:从文件尾部
    		offset: 偏移量
                            f1.seek(0)  回到首部
      f.flush()          清除输出缓冲区
  • 相关阅读:
    CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
    CodeForces 710A King Moves(水题-越界问题)
    CodeForces 701C They Are Everywhere (滑动窗口)
    CodeForces 701B Cells Not Under Attack
    [补档]happiness
    [补档]王者之剑
    [补档]士兵占领
    [补档]搭配飞行员
    [补档]暑假集训D6总结
    [补档][Lydsy2017年4月月赛]抵制克苏恩
  • 原文地址:https://www.cnblogs.com/fanison/p/7106982.html
Copyright © 2011-2022 走看看