zoukankan      html  css  js  c++  java
  • Python中文件的操作

     

                                             文件的操作介绍

    文件打开的方法

    主要有两种:

    1. no with

      格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
      常用:variable = open('路径文件',mode,encoding=None)
           variable.close()
      #不使用with方法时,在文件操作结束时要关闭文件
      
    2. with

      格式:with open('路径文件',mode,encoding=None) as variable:
      #该方法比较常用,在文件操作结束时不需要手动关闭文件,该方法默认自动关闭文件。
      

    文件的打开模式

    1. r

      只读模式(默认),如果文件不存在将报错。

    2. w

      只写模式:可写,不可读,如果文件不存在,将创建,存在将进行覆盖。

    3. a

      追加模式:可写,不可读,文件不存在就创建,文件存在就在文件末尾追加。

    4. +

      表示同时读写操作:r+/w+/a+

      r+:可读可写,文件不存在将报错。
      w+:可读可写,文件不存在将创建,存在将覆盖。
      a+:可读可写,文件不存在将创建,存在将在文件末尾追加。            
      
    5. U

      将 自动转换为 (在读取模式使用:rU/r+U)

    6. b

      二进制格式存储文件内容:rb/wb/ab/r+b/w+b/a+b

      rb:二进制格式读文件,可读,不可写,文件不存在将报错。
      wb:二进制格式写文件,不可读,可写,文件不存在,将创建,文件存在将覆盖。
      ab:二进制格式追加文件内容,不可读,可写,文件存在直接追加,不存在将创建。
      r+b:二进制格式读写文件,可读,不可写,文件不存在将报错。
      w+b:二进制格式写读文件,可读,可写,文件不存在,将创建,文件存将覆盖。
      a+b:二进制格式追加文件内容,可读,可写,文件不存在将创建,文件存在将追加在末尾。
      

      注:读写内容时需要使用字符串的编码和解码操作str.encode('utf-8')和str.decode('utf-8'),默认格式也是当前系统所使用的编码格式。

    注:查看系统默认编码方法:

    格式:sys.getdefaultencoding()
    #需要导入sys模块,调用该方法来获取当前系统默认的编码格式。
    

    文件的常用操作

    1. close(关闭文件)

      格式:file.close()
      #该方法主要用于no with的打开文件情况下。
      
    2. detach(分离)

      格式:file.detach()
      #该方法主要用于返回缓存区打开文件的路径和模式,日常很少使用。
      
    3. fileno(文件描述符)

      格式:file.fileno()
      #返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
      
    4. flush(刷新)

      格式:file.flush()
      #刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
      
    5. isatty(终端)

      格式:file.isatty()
      #如果文件连接到一个终端设备返回 True,否则返回 False。
      
    6. read(按字节读取文件)

      格式:file.read(size=-1)
      #文件读取指定的字节数,如果未给定或为负则读取所有。
      
    7. readable(是否可读)

      格式:file.readable()
      #判断文件是否可读,可读则返回True,否则返回False。
      
    8. readline(按行读文件)

      格式:file.readline(size=-1)
      #读取整行,包括 "
      " 字符,如果未给定或为负则读取一行。如果指定字节大小小于该行长度时,则只读取到第一行第N个字节。如果大于该行长度,则继续读下一行。
      
    9. seek(指定指针位置)

      格式:file.seek(whence=0)
      #指定指针位置,文件的开始指针位置为0。
      
    10. seekable(指针是否可变)

      格式:file.seekable()
      #判断指针是否可改变,如果可以改变则返回Ture,否则返回False。
      
    11. tell(显示指针位置)

      格式:file.tell()
      #返回当前指针位置。
      
    12. truncate(截取文件)

      格式:file.truncate(pos=None)
      #指定截取N个字节,从0开始,0-N保留,N之后的全部删除,该方法只能用于可写模式。
      
    13. write(写入)

      格式:file.write(text)
      #把内容填写到文件中。
      
    14. writable(是否可写)

      格式:file.writabel()
      #判断文件是否可写,如果可写,则返回True,否则返回值False。
      
    15. readlines(读每行)

      格式:file.readlines(hint=-1)
      #一行一行读取文件内容,并把读取到的数据以列表的形式返回,默认读全部文件,指定字节时,如果指定的长度小于该行长度,则只读取该行内容,如果指定长度大于该行长度,则继续读下一行。
      
    16. writelines(序列写入)

      格式:file.writelines(lines)
      #把序列写入到文件中,接收参数可以是一个序列,也可以是一个字符串,write只能接收字符串。
      

    常用的文件属性

    1. buffer(模式和路径)

      格式:file.buffer
      #功能与detach()一样,返回文件打开的模式和文件路径
      
    2. closed(是否关闭)

      格式:file.closed
      #判断文件是否已经关闭,如果已经关闭,则返回True,否则返回False。
      
    3. encoding(编码)

      格式:file.encoding
      #判断文件的编码格式,未指定时返回cp936。
      
    4. errors(报错)

      格式:file.errors
      #取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。
      
    5. line_buffering

      格式:file.line_buffering
      #返回布尔值
      
    6. name

      格式:file.name
      #返回文件的名字
      
    7. newlines

      格式:file.newlines
      #可以取的值有None, 
      , 
      , ”, ‘
      ',用于区分换行符,但是这个参数只对文本模式有效
  • 相关阅读:
    openvswitch 监听端口变化
    Python set() 函数
    openstack-neutron-OVS agent分析
    openvswitch ovs-appctl 使用
    python setup.py install 报错【Project namexxx was given, but was not able to be found.】
    openstack nova 创建虚机流程
    Linux kernel 模块 hello 测试
    openvswitch 流表操作
    软件测试开发之第一篇(测试文档)
    Java工具之Myeclipse程序调试
  • 原文地址:https://www.cnblogs.com/single-boy/p/7492424.html
Copyright © 2011-2022 走看看