一、python中打开文件模式的简介
mode | info |
r | 默认模式,以只读方式打开文件,文件的指针将会放在文件的开头 |
w | 打开一个文件只用于写入。如果文件不存在,则创建新文件;如果文件存在则覆盖原文件。 |
a | 打开一个文件用于追加。如果文件已经存在,文件指针将移动到文件的结尾,写入新的内容会存放到已有文件之后;如果文件不存在,创建新的文件写入 |
rb | 以二进制格式打开一个文件用于只读。文件指针将放在文件的开头。是默认模式 |
wb | 以二进制格式打开一个文件只用于写入,如果文件已经存在则覆盖;如果文件不存在则创建新文件 |
ab | 以二进制打开一个文件用于追加。如果文件存在,文件指针将放到文件内容的结尾;即新的内容将会写入已有文件之后;如果文件不存在,创建新文件进行写入 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头 |
w+ | 打开一个文件用于读写,如果该文件已存在则将其覆盖,如果文件不存在则创建新文件写入 |
a+ | 打开一个文件用于读写,如果文件存在,文件指针将会放到文件的结尾;文件打开时会是追加模式;如果该文件不存在,创建新新文件用于读写 |
rb+ | 以二进制格式打开一个文件用于读写,文件指针将会放在文件的开头 |
wb+ | 以二进制格式打开一个文件用于读写,如果文件存在则将其覆盖;如果文件不存在则创建新文件 |
ab+ | 以二进制格式打开一个文件用于追加,如果文件存在,文件指针将会放在文件的结尾;如果文件不存在则创建新文件用于读写 |
二、python中对文件操作
方法 | 描述 |
file.close() | 关闭文件。关闭后文件不能再进行读写操作。 |
file.flush() | 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
file.fileno() | 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
file.isatty() | 如果文件连接到一个终端设备返回 True,否则返回 False |
file.next() | 返回文件下一行。 |
file.read([size]) | 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
file.readline([size]) | 读取整行,包括 " " 字符。 |
file.readlines([sizeInt]) | 取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 |
file.seek(offset[,whence]) | 设置文件当前位置 |
file.tell() | 返回文件当前位置(文件指针的位置) |
file.truncate([size]) | 截取文件,截取的字节通过size指定,默认为当前文件位置。 |
file.write(str) | 将字符串写入文件,返回的是写入的字符长度。 |
file.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |