文本处理

什么是文件

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

什么是文本

.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 05\01 文本处理.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'\n') # \n本来是换行的意思,加上r之后变成\n
# 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 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=100)
w.generate(data)
w.to_file('nihaosaoa.png')

day 05 预科的更多相关文章

  1. Day 05 文本处理和爬虫基础1

    目录 什么是文件 什么是文本 如何通过文本编辑器控制.txt文件 打开文件的三种模式 t和b模式 高级应用 文本处理 + 词云分析 效果如下 爬虫原理 requests模块 re模块 爬取图片 爬取视 ...

  2. Java学习笔记(05)

    目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...

  3. iOS系列 基础篇 05 视图鼻祖 - UIView

    iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...

  4. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  5. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  6. 异步编程系列第05章 Await究竟做了什么?

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  7. javascript基础05

    javascript基础05 1.变量的作用域 变量既可以是全局,也可以是局部的. 全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内 ...

  8. Linux 第05天

    Linux 第05天 1.连接到Internet 1.1 配置网络信息 dmesg命令————查看网卡信息 dmesg | grep -i net ifconfig命令————查看IP.网关等相关信息 ...

  9. 05:统计单词数【NOIP2011复赛普及组第二题】

    05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

随机推荐

  1. python初级(302) 7 列表(二)冒泡排序

    一.复习: 1.如何创建一个空列表,如何创建一个有数据的列表 2.列表可以包含的内容 3.从列表中获取元素和修改元素的方法 4.列表的分片 5.增加元素和删除元素 6.选择排序的算法: 一堆数据,每次 ...

  2. iOS - 截取数组前几个元素放入新的数组,剩余的放入另外一个数组

    NSArray *array = [NSArray arrayWithObjects:@"Crystal",@"Maisie",@"Lukas&quo ...

  3. Python - Django - 中间件 process_request

    process_request 函数是中间件在收到 request 请求之后执行的函数 该函数的执行顺序是按照 settings.py 中中间件的配置顺序执行的 如果该函数返回 None,继续执行后面 ...

  4. SVN中trunk,branches,tags用法详解[重要]

    Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/|+-trunk+-branches+-ta ...

  5. Java之布尔运算

    对于布尔类型boolean,永远只有true和false两个值. 布尔运算是一种关系运算,包括以下几类 比较运算符:>,>=,<,<=,==,!= 与运算 && ...

  6. 申请Google Adsense通过终审的关键点

    一.申请Google Adsense前网站数据 申请Google Adsense广告的前提条件及网站环境如下: 60+篇文章. 一天10个ip左右. 谷歌索引200左右,当然包括标签分页等索引. 经过 ...

  7. django数据库配置,即数据库分库分表

    一 Django的数据库配置 (一)修改settings.py文件关于数据库的配置: Django默认使用sqlite:   DATABASES = { 'default': { 'ENGINE': ...

  8. [QT] - MjpegStreamer客户端(简易版)#工程源码

    简介: 大学时期学习弄的一个小软件,可以起到示例的作用,软件的几个功能截图如正文所示,文末提供工程源码文件,感谢支持! 功能截图: [ 开发板启动 mjpg_streamer 服务器 ] [ 启动软件 ...

  9. 使用Prometheus监控bind9的DNS服务

    首先编译bind_exporter,编译方式参见bind_exporter 创建一个systemd配置文件来运行bind_exporter vi /etc/systemd/system/bind_ex ...

  10. 使用Python的turtle画小绵羊

    今天学习使用turtle画图,本来想实现个3D效果,结果2D都画了半天,画圆被绕晕了 目标图片: 实现代码: # -*- coding:utf-8 -*- # __author__ :kusy # _ ...