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()截取数据,仅保留指定之前数据

  • 相关阅读:
    Largest Rectangle in Histogram
    Valid Sudoku
    Set Matrix Zeroes
    Unique Paths
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Path Sum II
    Path Sum
    Validate Binary Search Tree
    新手程序员 e
  • 原文地址:https://www.cnblogs.com/heertong/p/12189490.html
Copyright © 2011-2022 走看看