一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

       关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。

 

一、核心功能

 

‘r’只读。该文件必须已存在。

‘r+’可读可写。该文件必须已存在,写为追加在文件内容末尾。

‘rb’:表示以二进制方式读取文件。该文件必须已存在。

‘w’只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。

‘w+’写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。

‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

‘a’追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。

‘a+’追加读写。打开文件方式与写入方式和'a'一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek() 方法解决这个问题,详细请见下文Model 8 示例)



         看完上面各个模式的释义,可能有的人会觉得一堆文字有些枯燥,我一开始也是觉得如此,but,看似那么多模式,无非是三大类:读r(read),写w(write),追加a(append)。

        当然,我会用尽可能精短的代码为大家解释,文件操作各个模式具体如何使用。请继续往下看

 

 

二、示例解说

 

Model 1: r ---只读模式

注意:test2.txt 必须文件是已存在的。顺便说一下字符编码。因为Windows操作系统默认字符编码为GBK,而Python默认Unicode.utf-8,如果不写“ encoding=‘utf-8' "就会报错。

 

Model 2: r+ ---可读可写模式

 

Model 3: rb ---以二进制方式读取文件

 

Model 4: w ---只写模式

 

Model 5: w+ ---写读模式
 
 
 
 
Model 6: wb+ ---以二进制方式读写文件

 

Model 7: a ---追加写模式



Model 8: a+ ---追加读写模式

 

 

三、附加干货

    以下是文件操作中常用的一些方法:

print(f.readline())    # 打印一行
print(f.readline(5)) # 打印前5个字符
print(f.tell()) # 打印当前指针位置
print(f.read()) # 读完文件后,指针在最尾处
f.seek(0) # 如要重头到尾再读,文件指针须先回到文件头(0-文件头,默认值; 1-当前位置; 2-文件尾)
print(f.read()) # 重读文件
print(f.encoding) # 打印当前使用的字符编码
print(f.name) # 打印文件名
print(f.flush()) # 刷新
f.truncate() # 清空文件
f.truncate(12) # 从头开始,第12个字符后截断并清除
f.close() # 关闭文件

 

       以上的知识点,只要你理解并掌握了,以后在Python中进行文件操作的时候就能如行云流水般自然流畅啦~

 

- End -

 

转载于:https://www.cnblogs.com/wujiaqing/p/10690265.html

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
open()函数是Python中用于打开文件的函数。该函数接受两个参数,第一个参数是文件的路径和名称,第二个参数是打开文件的模式。常用的文件打开模式有以下几种: - "r":以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 - "rb":以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。 - "w":以写入方式打开一个文件。如果该文件已存在则将其覆盖,如果不存在则创建新文件。 - "wb":以二进制格式打开一个文件用于写入。如果该文件已存在则将其覆盖,如果不存在则创建新文件。 - "a":以追加方式打开一个文件。如果该文件已存在,文件指针将会放在文件的结尾。新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件进行写入。 - "ab":以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件进行写入。 在使用open()函数打开文件后,可以使用read()方法一次性读取文件的全部内容,或者使用readline()方法每次读取一行内容,也可以使用readlines()方法一次读取所有内容并按行返回为一个list。 例如,如果我们想要以只读方式打开名为"example.txt"的文件,可以使用以下代码: ```python file = open("example.txt", "r") content = file.read() file.close() ``` 这样,文件的内容就会被读取到变量content中。 同样地,如果我们想要以写入方式打开一个文件并写入内容,可以使用以下代码: ```python file = open("example.txt", "w") file.write("This is some content that we want to write.") file.close() ``` 这样,文件就会被写入指定的内容。 请注意,在使用open()函数打开文件后,一定要记得使用close()方法来关闭文件,以释放对文件的占用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值