day05

文本处理

什么是文件

文件是操作系统提供的一个虚拟概念,拿来存储信息的

什么文本

.txt/.word/.md/.py/.xml/.ini 存储的是文字

如何通过文本你编辑器去控制TXT文件

  1. 找到文件路径
  2. 打开文件
  3. 读取/修改操作
  4. 保存
  5. 关闭文件
file_path='D:\pycharm\laorichang\day05\哈.txt'
f=open(file_path)#把该路径的文件读入内存,只是没有可视化的界面而已
print(f)
data=f.read()#读取文件
print()
f.close()

打开文件的三种模式:

r : read(只读不可写)

w : write (只写不可读,清空文本文件)

a : append (只写不可读,追加)

file_path='D:\pycharm\laorichang\day05\哈.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\01 文本处理.mp4','rb')  # 读入内存
data = f.read()

tb不单独使用,必须与r/w/a一起配合使用

f = open(r'D:\上海python12期视频\python12期预科班视频\day 05\01 文本处理.mp4','rt',encoding='utf8')
data=f.read()
print(data)

print(r'\n')#\n本来是换行的意思,加上r之后变成\n
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\01 文本处理.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\01 文本处理.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 05\huijiadeyouhuo.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 05\hongshixian.jpg')
#4.使用词云模块生成词云
w=wordcloud.WordCloud(background_color='white',mask=img,font_path=r'C:\Windows\Fonts\simsun.ttc',max_words=150)
w.generate(data)
w.to_file('nihaosaoa.png')
posted @ 2019-08-27 22:05  风啊风啊  阅读(159)  评论(0编辑  收藏  举报