文本处理
什么是文件
文件是操作系统提供的一个虚拟概念,拿来存储信息的
什么文本
.txt/.word/.md/.py/.xml/.ini 存储的是文字
如何通过文本你编辑器去控制TXT文件
- 找到文件路径
- 打开文件
- 读取/修改操作
- 保存
- 关闭文件
file_path='D:pycharmlaorichangday05哈.txt'
f=open(file_path)#把该路径的文件读入内存,只是没有可视化的界面而已
print(f)
data=f.read()#读取文件
print()
f.close()
打开文件的三种模式:
r : read(只读不可写)
w : write (只写不可读,清空文本文件)
a : append (只写不可读,追加)
file_path='D:pycharmlaorichangday05哈.txt'
#w:清空后 写入
#a:直接追加在文本末尾
f=open(file_path,'a',encoding='gbk')#encoding告诉计算机用什么编码格式翻译硬盘中的0和1
print('f.readable():'f.readable())
print('f.writeable():'f.writeable())
f.write('你好呀')
#data=f.read()
#print(data)
文本高级
t和b模式
gbk/utf8只针对文本,所以音频通过rb模式打开--》读取二进制,b不单独使用,一般与r/w/a一起配合使用
f = open(r'D:上海python12期视频python12期预科班视频day 05 1 文本处理.mp4','rb') # 读入内存
data = f.read()
tb不单独使用,必须与r/w/a一起配合使用
f = open(r'D:上海python12期视频python12期预科班视频day 05 1 文本处理.mp4','rt',encoding='utf8')
data=f.read()
print(data)
print(r'
')#
本来是换行的意思,加上r之后变成
print('\n')
高级应用
可读可写--》不建议使用
打开一个文件,内容是 abc
写入 10s->abc后面加个d
读出 5s->没有写入-》abc
写入 10s->abc后面加个d
再过5s--》第一次写入成功了--》abcd
又过了5s-->第二次写入给计算机的指令是 abc后面加个d-->报错
r+ : 可读可写
a+ : 可读可写
w+ : 可读可写(清空文件)
f = open(r'D:上海python12期视频python12期预科班视频day 05 1 文本处理.mp4','r+',encoding='utf8')
print('f.readable():'f.readable())
print('f.writeable():'f.writeable())
f.close()#解除他对操作系统的占用
为什么不用关闭
with 会自动关闭文件
with open(r'D:上海python12期视频python12期预科班视频day 05 1 文本处理.mp4','r+',encoding='utf8') as fr:
#这个缩进内部的代码都是文件打开的状态
data=fr.read()
print(data)
文本处理+词云分析
import jieba
import imageio
import wordcloud
#1.读取文件内容
with open(r'D:上海python12期视频python12期预科班视频day 05huijiadeyouhuo.txt','r+',encoding='utf8') as fr:
for i in range(1000):
fr.write('回家的诱惑,')
fr.flush()
data=fr.read
#2.使用结巴模块对文件内容切割
jieba.add_word('回家的诱惑')#让 回家的诱惑 成为一个单词
jieba.del-word('女士')
jieba.del-word('先生')
jieba.del-word('小马')
data_list=jieba.lcut(data)
data=' '.join(data_list)
#3.找到一张洪世贤的照片
img=imageio.imread(r'D:上海python12期视频python12期预科班视频day 05hongshixian.jpg')
#4.使用词云模块生成词云
w=wordcloud.WordCloud(background_color='white',mask=img,font_path=r'C:WindowsFontssimsun.ttc',max_words=150)
w.generate(data)
w.to_file('nihaosaoa.png')