python爬虫基础篇:文本操作和二进制存储
文本操作
读取方式 r read w write a append b btye + 合并方式
text.txt文件写入 lll aaa hhh wywywywywywy
读取文件方式:open(“文件名”,读取方式,编码方式)
# ("读取文件名字",读取方式,编码方式) f = open("text.txt","r",encoding="utf8") text = f.read() print(text) # 输出文本内容 :lll aaa hhh wywywywywywy
首先在python文件同路径下准备一个文件text.txt,写入
lll aaa hhh wywywywywywy
f.readline(读取文件前几行(默认读取第一行))
f = open("text.txt","r",encoding="utf8") text = f.readline() print(text) # 输出文本内容 :lll 只输出第一行
f.readlines(),把文本中的内容以列表形式输出,换行操作由换行符代替,若要对数据清洗,可以使用strip()把文件切割,然后经replace把/n转换成空即可
f = open("text.txt","r",encoding="utf8") text = f.readlines() print(text) # 输出文本内容 :['lll\n', 'aaa\n', 'hhh\n', 'wywywywywywy'] for t in text: print(t.strip().replace("/n","")) # 输出结果: lll # aaa # hhh # wywywywywywy
f.readable()判断文本是否可读,可读返回True,反之返回False
f = open("text.txt","r",encoding="utf8") text = f.readable() print(text) # 输出结果:True #平常使用方法:判断文件是否可读 if f.readable(): print("文件可读") else: print("文件不可读") f.close()
方式二:with as 自开合
with open("text.txt","r",encoding="utf8") as f: print(f.read())
把文本内容写入文件中
write只能一次写入,无法写入多行
# 若文件不存在,则添加,存在则覆盖 with open("test_2.txt","w",encoding="utf8") as f: f.write("hahahahaha") # 只能一次性写入,再次写入会覆盖 # 结果:新建文本test_2.txt,文本内容hahahahaha
写入多行使用“a”进行追加操作,换行只需在需要换行的地方前加‘/n’
# 多行写入方法:追加:append with open("test_2.txt","a",encoding="utf8") as f: f.write('\nnihaa') # test_2.txt,文本内容hahahahaha nihaa
b 写入图片,音乐,视频
# b 音乐,图片,视频 import requests img = requests.get("https://img0.baidu.com/it/u=1058961982,3919091402&fm=253&fmt=auto&app=120&f=JPEG?w=779&h=500") # 一张图片连接 with open("img.png",'wb') as f: f.write(img.content) # 下载到文件同路径下