python excelwriter保存路径_20.python之文件读写

19f5682690daf50ce25a8dcdfcda7d29.png

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

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

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

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

01

读取文件

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

b829c7c33ba6cc1bcfb8496e4eabf902.png

(1)打开文件

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','r',encoding='gbk')

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

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

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

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

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

361656ed63d0005a4aba2279b08c3cbf.png

相对路径可以写成:

file = open('food.txt','r',encoding='gbk')

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

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

5fc6a4cfabc7324aa24be4ffa996b242.png

(2)读取文件

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','r',encoding='gbk')filecontent = file.read()

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

(3)关闭文件

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','r',encoding='gbk')filecontent = file.read()print(filecontent)file.close()

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

02

写入文件

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

(1)打开文件

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','w',encoding='gbk')

(2)写入文件

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','w',encoding='gbk')file.write('油焖大虾\n')file.write('焦溜丸子\n')

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

file = open(r'C:\Users\GT\Desktop\test\food.txt','a',encoding='gbk')file.write('油焖大虾\n')file.write('焦溜丸子\n')

(3)关闭文件

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

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

03

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

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

c45b83e0cae9175ccb65e581c2fd0162.png

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

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

with open(r'C:\Users\GT\Desktop\test\food.txt','a',encoding='gbk') as file:    file.write('油焖大虾\n')    file.write('焦溜丸子\n')

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

5f7da04d412f712325a82eea8ef0eea3.gif a2c2267dc131d76f1ff5985f261b19a7.png a2c2267dc131d76f1ff5985f261b19a7.png 92ba1760bcacc1f81894f553d9c3fec5.png长按二维码关注我有趣的灵魂在等你 73ec055fb5d3f786f1bfd7449af20561.gif a2c2267dc131d76f1ff5985f261b19a7.png a2c2267dc131d76f1ff5985f261b19a7.png ceb8d73abc3acd8b07f70ac0458df6ac.png告诉我你“在看” 30c587252e7334ec607da68b5f25d91e.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值