文件操作总结篇
文件读写分为【读】和【写】两部分,python作为爬虫的基础,我们需要将有用的信息进行爬去,并且保存在我们需要让它出现的位置,这样呢,就涉及到我们文件的【读取】和【写入】,今天我们自己总结一下初级的python的关于文件操作的知识点。
读取文件
读取文件我们有三个步骤:打开文件——读文件——关闭文件
那么我们先在知道了步骤开始实践操作一下吧!
我们在桌面新建一个text文件夹,在这个文件夹里新建一个名为abc的txt文件,写入自己想写入的内容(如图)。
我们可以用VS Code新建一个open.py文件,放在我们创建是文件夹text中进行编写代码。
打开文件
# 首先我们得知道我们文件所在的位置,并且将路径复制下来。
file1 = open('\\Users\\lsy11\\Desktop\\text\\abc.txt','r',encoding='utf-8')
# 在window中,我们的绝对路径通常需要进行处理,将'\'替换成'\\' 或在路径前面加上字母r
open()函数里面有三个函数
'C:/Users/lsy11/Desktop/text/abc.txt' # 第一个
# 文件的保存地址,以便计算机找到我们文件
# 文件的保存地址分为相对路径和绝对路径
# 其中相对路径是指相对于当前文件夹的路径,绝对路径是完整路径
open('/Users/lsy11/Desktop/text/abc.txt') # 绝对路径
open('abc.txt') # 相对路径
'r' # 第二个
# 字符串'r', 表示read,'w', 表示write 'a', 表示追加
encoding='utf-8' # 第三个
# 表示是是返回的数据采用何种编码,一般采用utf-8或者gbk
读文件
file1 = open('\\Users\\lsy11\\Desktop\\text\\abc.txt','r',encoding='utf-8')
filecontent = file1.read()
# 我们将读到的文件内容放在变量filecontent中,这样我们再能拿到文件的内容
# 我们可以print一下查看我们读取到的数据。
print(filecontent)
# 我们就可以看到文件里面的内容,它会读成字符串是数据形式。
file1.close()
# 最后一步就是关闭文件,使用close()函数。
# 提问?为什么我们要关闭文件呢?
# 答:1.计算机能够打开文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了
# 2. 能够保证写入的内容已经在文件里被保存了。
写入文件
file1 = open('/Users/Ted/Desktop/test/abc.txt', 'w',encoding='utf-8')
file1.write('孤宝宝\n') #\n表示另起一行
file1.write('敏蛋蛋\n')
# 此时你打开文件时会发现,你原来文件中的内容竟然没有了,只剩下新写入的内容,这是为什么呢?
# 原来“w”会暴力清空文件,然后写入需要写入的东西,那么如果我们知识单纯的想要增加东西而不覆盖掉原文件的话要使用“a”模式,表示append,即追加的意思。
# 那么我们的代码要这样写:
file1 = open('/Users/Ted/Desktop/test/abc.txt', 'a',encoding='utf-8')
# 以追加的方式打开文件
file1.write('孤宝宝\n') # 此时我们就会追加成功。不要忘记关闭文件哦
file1.close()
# 小提示:在“w”和“a”的模式下,如果你打开的文件不存在,那么open()函数会帮你自动创建一个
我们学会基础的之后呢,来总结一下open()函数如图:
看到二进制,相信童鞋们会想到一些什么吧?
文件不能只写入字符串吧,有了二进制的写入方法,我们就可以写入音频和图片了(因为图片和音频是以二进制保存的。)
小知识——为了避免打开文件后忘记关闭,我们可以哟个关键字with
# 普通写法
file1 = open('gbb.txt','a')
file1.write('孤宝宝')
file1.close()
# 使用with关键字的写法
with open('gbb.txt','a') as file1:
# with open('文件地址','读写模式') as 变量名:
file1.write('孤宝宝')
# 对文件的操作要缩进,无需用close()关闭