行业介绍
自学Python之_文件操作(可能吗?找不到这么完整的教
2021-12-23 19:27  浏览:285

只读 r

f = open('test',mode='r',encoding='utf-8') f1 = f.read() print(f1) f.close()

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

读写 r+

f = open('test',mode='rb',encoding='utf-8') 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') f1 = f.read(5) print(f1) f.close()

打印结果为

45692

f = open('test',mode='w',encoding='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 方法相对来说简易许多