zoukankan      html  css  js  c++  java
  • python笔记对文件操作

    python中对文件操作,使用open()函数打开文件,然后进行后续处理,如读写等

    1 open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

    参数说明:

    • file: 必需,文件路径(相对或者绝对路径)。
    • mode: 可选,文件打开模式,默认读方式打开
    • buffering: 设置缓冲
    • encoding: 一般使用utf8
    • errors: 报错级别
    • newline: 区分换行符
    • closefd: 传入的file参数类型
    • opener:

    一般在使用时候之需关注前面2个即可,当涉及到编码格式时,encooding需要设置。

    mode 参数有:

    模式描述
    t 文本模式 (默认)。
    x 写模式,新建一个文件,如果该文件已存在则会报错。
    b 二进制模式。
    + 打开一个文件进行更新(可读可写)。
    U 通用换行模式(Python 3 不支持)。
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
    w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
    w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    默认为文本模式,如果要以二进制模式打开,加上 b 。

    下面看一下具体实例

     1 def writefile():
     2     filename = 'username.txt'
     3     f = open(filename,'w',encoding='utf-8')  #以写方式打开
     4     f.write('学习python对文件操作')
     5     f.close()    #切记文件不操作后要关闭
     6 
     7 
     8 def writeaddfile():
     9     filename = 'username.txt'
    10     f = open(filename, 'a',encoding='utf-8')  # 以追加方式打开
    11     f.write('对文件进行追加写入')
    12 
    13 def readfile():
    14     filename = 'username.txt'
    15     f = open(filename,'r',encoding='utf-8')  # 以读方式打开
    16     print(f.read())
    17     f.close()
    18 
    19 def wrfile():
    20     filename = 'username.txt'
    21     f = open(filename,'r+',encoding='utf-8') #写读方式打开
    22     f.write('对文件进行读写')
    23     # print(f.read())
    24     f.close()

    如果是二进制读写,则在模式后面加b,如下:

    1 def writeerfile():
    2     filename = 'username.txt'
    3     f = open(filename,'wb')  #以二进制方式写入,注意当使用二进制时候就不能设置encoding参数,读取使用要使用二进制方式读取
    4     f.write('学习python对文件操作'.encode('utf-8'))
    5     f.close()    #切记文件不操作后要关闭

    每次操作文件后要关闭文件经常会忘记,可以使用with 关键字打开文件,在文件不操作时会自动关闭文件,同时with打开文件还同时支持打开2个文件

    1 def withfile():
    2     filename1= 'log1.txt'
    3     filename2 = 'log2.txt'
    4     with open(filename1,'w') as f1,open(filename2,'w') as f2:
    5         f1.write('aaa')
    6         f2.write('ddd')

    对文件的基本操作,一般使用到的方法为具体为:

    close()关闭文件

    fileno()文件描述符

    flush()刷新文件内部缓存区

    isstty()判断文件是否同意tty设置

    read()读取指定文件字节数据

    readable()是否可读

    readline()仅读取一行数据

    seek()指定文件中指针位置

    tell()获取指针位置

    writeable()是否可写

    truncate()截取数据,仅保留指定之前数据

  • 相关阅读:
    Git 使用记录
    AngularJS $http返回的数据类型
    angularJS 使用$http 出现 $http.get(...).success is not a function
    JS数组及其方法(slice,contact...)
    HTML5的localStorage和sessionStorage
    promise async await 结合 demo2
    promise async await 结合 demo1
    git 命令
    git
    new 优先级的题目
  • 原文地址:https://www.cnblogs.com/heertong/p/12189490.html
Copyright © 2011-2022 走看看