day 05 预科

文本处理

什么是文件

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

什么是文本

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

视频/音频文件(多媒体文件)

我们如何通过文本编辑器去控制txt文件

# file_path = 'D:上海python12期视频python12期预科班视频day 05新时代中国特色社会主义.txt'
# f = open(file_path)  # 把该路径的文件读入内存,只是没有可视化的界面而已
# print(f)
# data = f.read()  # 读取文件
# print(data)
# f.close()


# 打开文件的三种模式 r--》read(只读不可写)/w-->write(只写不可读,清空文本文件)/a--》append(只写不可读,追加)
file_path = r'D:上海python12期视频python12期预科班视频day 05新时代中国特色社会主义.txt'

# w: 清空后写入
# a:直接追加在文本末尾
f = open(file_path, 'a', encoding='gbk')  # encoding告诉计算机用什么编码格式翻译硬盘中的0和1
print('f.readable():', f.readable())
print('f.writable():', f.writable())
f.write('国')

# data = f.read()
# print(data)

# 右键点击文本--》 local history --》 show history


# encoding
# 0和1

# 0001 a
# 0010 b
# 0011 c

# utf8

# 美国的编码能给中国人用吗?中国也弄了一套编码规则,中国的叫gbk
# 0001 中


# 0001

# 0001 0001  0001

文本高级

# t和b模式
# gbk/utf8只针对文本,所以音频通过rb模式打开-->读取二进制,b模式下没有encoding这个参数,b不单独使用,一般与r/w/a一起配合使用
# f = open(r'D:上海python12期视频python12期预科班视频day 051 文本处理.mp4','rb')  # 读入内存
#
# data = f.read()


# t模式针对文本文件,t模式不单独使用,必读得和r/w/a一起使用
# f = open(r'D:上海python12期视频python12期预科班视频day 05关于实施乡村振兴战略的意见.txt','rt',encoding='utf8')
# data = f.read()
# print(data)

# print(1)
# # print(r'
')  # 
本来是换行的意思,加上r之后变成

# print('\n')
# print(2)

# 高级应用

# 可读可写-->不建议使用

# 打开一个文件,内容是   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关于实施乡村振兴战略的意见.txt','r+',encoding='utf8')
# print(f.readable())
# print(f.writable())
# f.close()  # 解除他对操作系统的占用


# 为什么不用关闭

# with 会自动关闭文件
with open(r'D:上海python12期视频python12期预科班视频day 05关于实施乡村振兴战略的意见.txt','r+',encoding='utf8') as fr:
    # 这个缩进内部的代码都是文件打开的状态
    data = fr.read()
    print(data)


print(1)

文本处理+高级分析

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=100)
w.generate(data)
w.to_file('nihaosaoa.png')

原文地址:https://www.cnblogs.com/colacheng0930/p/11419627.html