python open encoding_20.python之文件读写

v2-de912f67607193a3ebadeb1ea2688f26_1440w.jpg?source=172ae18b

文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本记录、音频片段、Excel文档、保存邮件以及任何保存在电脑上的东西。

你可能会疑惑:为什么要在Python打开文件?我直接打开那个文件,在那个文件上操作不是更方便吗?

举个例子,假设你要收集员工信息,公司有几百名员工,每个人都按照规定格式提供给你一个excel,你需要把所有信息汇总到一个excel中。挨个复制粘贴太麻烦,这时候就需要python来帮助我们。这个案例会在后面的课程中讲到。

文件读写分为读和写两部分,我们先来看看读文件是怎么实现的。

1、读取文件

读取文件分为三步,打开文件、读取文件和关闭文件。先在桌面新建一个文件夹test,然后在文件夹中新建一个名为food的txt文件,里面写上东坡肘子、葱爆羊肉、糖醋里脊。

v2-3302a728c34520968b1ef9d5f5f58ba5_b.jpg

(1)打开文件

要想打开这个文件,需要用到open()函数,如下:

file 

变量file是用来存放读取的文件数据的。open()函数中有三个参数,我们一个一个来看。

第一个参数【r'C:UsersGTDesktoptestfood.txt'】是文件的保存地址,如果写的不正确便找不到文件。(注:每个人的地址是不一样的。)

要找到文件地址不难,鼠标右键单击文件,选择属性,然后查看【位置】。这样获得的路径是【绝对路径】,是最完整的路径。

由于我的电脑是Windows系统,【】在python中是转义字符,所以需要在路径前加字母r,或者将地址中所有的【】替换成【】。如果是Mac系统,地址路径写成【'/Users/GT/Desktop/test/food.txt'】即可。

除了【绝对路径】外,还有一种路径叫【相对路径】,这个路径是编写代码的python文件所放的文件夹的路径。比如我现在编程的文件是【practise.py】,在文件夹【ProjectName】中,如果food文件也在这个文件夹中,那么就可以用相对路径。

v2-67ce4ddb73134283672344dc7538da28_b.jpg

相对路径可以写成:

file 

第一个参数讲完了,再来看第二个,它表示的含义是打开文件的模式。这里的字符串‘r’(read),表示以【读】的模式打开文件。除了读(‘r’)的模式外,还有写(‘w’)和附加(‘a’)等模式。

第三个参数是【encoding='gbk'】,表示返回的参数采用何种编码,一般采用utf-8或gbk。下表是各种编码对应的特点,不用死记硬背,了解即可。

v2-a57c83bca297e253fc2ae7f749cabadc_b.jpg

(2)读取文件

打开文件之后,就可以用read()函数进行读取了,代码如下:

file 

第二行代码是读取file中的数据,在变量file后面加【.read()】,即可把读取的内容放在变量filecontent中。通过print()函数,能看到读取的文件中的内容,自己在电脑上运行看看吧。

(3)关闭文件

读取文件后,还要关闭文件,因为计算机打开的文件数量是有限制的,打开过多不关闭会造成不能再打开文件。关闭文件是在打开文件的变量file后面加【.close()】,代码如下:

file 

文件关闭后就不能再对这个文件进行读写,如果还需要读写,就要再次用open()函数打开这个文件。

2、写入文件

写入文件是在原有文件的基础上,添加进新的内容。和读取文件一样,写入文件也分为三步:打开文件、写入文件、关闭文件。

(1)打开文件

代码形式如读取文件一致,也需要open()函数和里面的三个参数,只不过第二个参数要将‘r’(读取)模式改为'w'(写入)模式。代码如下:

file 

(2)写入文件

写入文件需要用到write()函数,但有一点需要注意,通过write()函数写入的内容会先清空原有内容,然后写入新的内容,代码如下:

file 

运行上面代码发现,“food.txt”文件中只有“油焖大虾”和“交流丸子”两行字符串。如果不想覆盖原来的内容,只新增内容,需要用到‘a’(附加)模式,代码如下:

file 

(3)关闭文件

和读取文件一样,用colse()函数关闭文件。

需要说明的是,在”w“和”a“模式下,如果你打开的文件不存在,那么open()函数会自动帮你创建一个。

3、读取和写入其他形式的数据

可供读取和写入的数据不仅有文本,还可以是音频和图片。区别在于用open()函数打开文件时传递的第二个参数的不同,参数和对应类型如下表所示:

v2-9ee6240b0127e28c0eb9cf8d7db1f28c_b.jpg

我们可以看到模式中加了【b】的是能够打开二进制文件的,图片和音频都是以二进制的形式保存的。比如要写入图片文件,就需要用到【wb】模式。

如果你怕打开文件后忘记关闭,或者不确定该在什么时候关闭文件时,可以用到关键字with,如下:

with 

本节课的内容到这里就结束了,下节课会通过几个练习来加深对文件读写的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值