好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

自学Python之:文件操作(绝对找不到这么完整的教程)

我是一个学习Python初学者,近期刚学完文件操作。特地分享 文章分为两部分,第一部分为文件读取类型以及读取的方式,第二部分为练习题

文件读取类型

文件读取的操作方式有以下几种:只读,只写,追加,读写,写读

只读 r

 f = open('test',mode='r',encoding='utf-8')  # 打开文件,读取方式为`r`,编码为UTF-8
f1 = f.read() # 读取文件
print(f1) #打印文件
f.close() # 关闭文件 

只读类型下,文件不能被修改

读写 r+

 f = open('test',mode='rb',encoding='utf-8') # 读取方式变为`r+`
file = f.read()
f1 = f.read()
f.close() 

当读取方式为 r+ 时,文件可以被写入,但是打印出来的是写入前所读取的

二进制读 rb 代码略去,文件以二进制的模式读取。

剩下的我将以表格形式统一展现,可以参照对比以上代码

读取方式 补充 r 只读,不可被修改 r+ 读写,光标在前,从第一个位置开始修改,打印出修改的字符数 rb 以 byte 方式读取 w 只写,若写入的目标文件没有,则创建,有则清空再写入 wb 转换为 byte 类型写入 a 打开文件,把光标移动到有文字的后面,再进行追加 ab 以 byet 类型加入

注 : r+ 有两个表现,一个是 读写 ,还有一个是 写读 。需要注意。另, w+ 和 a+ 我没有写,是因为学习阶段用的相对来说较少

读取功能

我先以表格形式展示,再进行详解

读取方式 | 用于场合

读取方式 用于场合 read() 以字符读,可添加参数( I ),读前 i 个字符 seek() 调整光标位置 tell() 调整光标位置,需放置于 seek() 前 readline() 一行一行的读 readlines() 将每一行当成列表中元素读取,换行自带 \n truncate() 截取一段读出来,从后往前读

例如有一个名为 test 的文件,文件内容如下:

456926667

这是一个长为10个字符的字符串

 f = open('test',mode='r',encoding='utf-8')  # 打开文件,读取方式为`r`,编码为UTF-8
f1 = f.read(5) # 读取文件中前5个字符
print(f1) #打印文件
f.close() # 关闭文件 

打印结果为

45692

 f = open('test',mode='w',encoding='utf-8')  # 打开文件,读取方式为`w`,编码为UTF-8
f1 = f.seek()
print(f1) #打印第五个字符
f.close() # 关闭文件 

打印结果为

2

剩下的我就不一一做演示,有需要可以自己试一试

文件读取方式

 f = open('test',mode='w',encoding='utf-8')   

此文件读取方式,仅能读取一个文件,另外代码多

 with open('test',mode='w',encoding='utf-8') as f:
      pass 

此文件读取方式,能同时读取多个文件,且代码量相对来说少

当需要同时操作两个或两个文件以上时, with open 方法会相对来说简易许多

今天的文件笔记就先暂时分享到这,如果你也是刚刚一起学习的,可以添加我的群 456926667,一起交流互助学习。 若不能分享群,请审核者信息告知我。 下篇文章还有练习

查看更多关于自学Python之:文件操作(绝对找不到这么完整的教程)的详细内容...

  阅读:32次