Python 文件读写操作

回顾复习

我们上一期在Python 文件关闭流浅析里学习了文件的关闭,本期我们来详细学习文件的操作。

在学习之前,我们仍然回顾一下Python文件操作三步骤:

  • 创建文件对象,打开文件
  • 对文件进行读写等操作
  • 文件操作完后,关闭文件

同时,我们也在Python 文件管理浅析中,知道文件分为文本文件和二进制文件

本期,我们来学习好玩的,读取、添加、删除等文件里面的内容。

我们在学习之前,再来回顾一下,打开文件模式。


打开模式图
模式 作用
r 打开的文件,默认只读权限
r+ 打开的文件后,从开头开始读取
rb 打开的二进制文件只具有只读权限
rb+ 打开的二进制文件具有读写权限
w 打开的文件具有只读权限(会清空文件原有内容)
w+ 打开的文件具有读写权限(会清空文件原有内容)
wb 打开的二进制文件只具有只写权限
wb+ 打开的二进制文件具有读写权限
a 打开的文件并在原有内容之后追加新内容
a+ 打开的文件在原有内容之后追加新内容,且具有读写权限
ab 打开的二进制文件在原有内容之后追加新内容
ab+ 打开的二进制文件在原有内容之后追加新内容,且具有读写权限

学习了打开文件模式,我们调用open()函数方法就可以打开我们文件,然后进行接下来的操作啦

注意:我们调用了open函数打开文件,对文件进行操作完成后,我们要养成好习惯关闭文件哈

哪我们今天开启,正式的学习吧

1. 文本文件读写

我们在电脑目录下创建a.txt内容为

a.txt
1.1 文本文件读取

打开文件模式具有读的有r,r+,w+,a+

文件的读取一般适用三个方法:

  1. read([size])

    • 从文件中读取size个字符,并作为结果返回,如果没有size参数,则读取整个文件。
    • 读取到文件末尾,会返回空字符串
with open("a.txt") as f:
    f.read(3)
    
read结果
  1. readline()

    读取一行内容作为结果返回,读取到的文件末尾,会返回空字符串

f = open("a.txt")
#读取一行数据
str = f.readline()
print(str)
f.close()
ReadLine运行结果
  1. readlines()

    文本文件中,每一行作为一个字符串存入列表中,返回该列表

f = open("a.txt",'rb')
str = f.readlines()
print(str)
f.close()
readlines运行结果
1.2 文本文件写入

我们在对文本文件写入的时候,打开文件具有写入模式的有 w,a,w+,a+ 四种模式

文本文件的写入一般有两个方法:

  1. write()

    向文件里写入指定内容

我们写入操作,打开文件模式a的话,是在文件内容后面追加新的写入内容

f = open("a.txt", 'a')
f.write("\n写入一行新数据")
f.close()
a模式下write运行结果

打开文件模式是w的话,是会先清空原有内容,再写入新的内容

f = open("a.txt", 'w')
f.write("写入第二行行新数据")
f.close()
w模式下write运行结果
  1. writelines()

    可以实现将字符串列表写入文件中

    我们来看一个writelines()方法栗子

f = open('a.txt', 'r')
n = open('b.txt','w+') #b.txt文件是空的
n.writelines(f.readlines())
n.close()
f.close()
writelines运行结果

注意:写入函数只有 write() 和 writelines() 函数,而没有名为 writeline 的函数。

2. 二进制文件读写

二进制文件的处理流程和文本文件流程一致。

唯一的区别就是,打开二进制文件要加入b模式

主要步骤如下:

  1. 打开二进制文件例如:open("XX.jpg","rb")
  2. 创建文件对象
  3. 进行write、read操作
  4. 关闭二进制文件

我们来实现一个拷贝一张图片操作,来练习二进制文件读写操作

with open("BQ.jpg","rb") as f:
    with open("BQ_copy.jpg","wb") as w:
        for line in f.readlines():
            w.write(line)
print("copy end")
二进制文件读写操作运行结果
二进制文件读写之后结果2
拷贝一张可爱的图片

总结

本期,我们详细学习和实操,文件读取和写入操作。在操作文件前打开文件的模式及区别。

在后续更好的对文件进行操作,打下夯实的基础。

以上是本期内容,欢迎大佬们指导点赞关注,下期见~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容