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 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 预科的更多相关文章
- Day 05 文本处理和爬虫基础1
目录 什么是文件 什么是文本 如何通过文本编辑器控制.txt文件 打开文件的三种模式 t和b模式 高级应用 文本处理 + 词云分析 效果如下 爬虫原理 requests模块 re模块 爬取图片 爬取视 ...
- Java学习笔记(05)
目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...
- iOS系列 基础篇 05 视图鼻祖 - UIView
iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- javaSE基础05
javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...
- 异步编程系列第05章 Await究竟做了什么?
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...
- javascript基础05
javascript基础05 1.变量的作用域 变量既可以是全局,也可以是局部的. 全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内 ...
- Linux 第05天
Linux 第05天 1.连接到Internet 1.1 配置网络信息 dmesg命令————查看网卡信息 dmesg | grep -i net ifconfig命令————查看IP.网关等相关信息 ...
- 05:统计单词数【NOIP2011复赛普及组第二题】
05:统计单词数 总时间限制: 1000ms 内存限制: 65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...
随机推荐
- [windows bat]如何启动一个新的cmd窗口并在其内执行命令
两种方式: start cmd /k echo Hello, World! # # 执行完毕以后,新开的窗口不会自动关闭 start cmd /C pause # 执行完毕以后,新开的窗口会自动关闭 ...
- chrome 报错 ERR_CERT_AUTHORITY_INVALID
场景: 本地调试https/wss程序,使用了openssl自签名的证书,解决方法:添加到信任证书 根据以下图片流程操作 然后 打开selfsigned.cer 清空该网站缓存 参考资料: https ...
- 【Spring Boot学习之七】自定义参数&多环境配置&修改端口号&yml
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 一.自定义参数通过注解直接获取配置文件application.properties中配置key的value1.appl ...
- sk-learn 选择正确的估算器
选择正确的估算器 解决机器学习问题最困难的部分通常是为工作找到正确的估算器. 不同的估计器更适合于不同类型的数据和不同的问题. 下面的流程图旨在为用户提供一些关于如何处理有关哪些估算器尝试数据的问题的 ...
- 【整理】【docker】【Linux】整理笔记
1.Linux安装docker 参考文章:https://blog.csdn.net/yanpenglei/article/details/78944553 Docker 要求系统的内核版本高于 3. ...
- PAt 1099
1099 Build A Binary Search Tree (30 分) A Binary Search Tree (BST) is recursively defined as a bina ...
- C++之开灯问题(链表)
有n盏灯,编号为1~n.第1个人把所有灯打开,第2个人按下所有编号为2的倍数开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关,以此类推.一共有k个人,问最后有哪些灯开着?输入n和k,输出开 ...
- unity---为什么用Time.deltaTime * speed 表示每秒移动的距离的理解
Time.deltaTime:代表时间增量,即从上一帧到当前帧消耗的时间, 这个值是动态变化的. dt 表示 deltaTime. 假如 1s渲染10帧,沿X轴方向的移动速度 speed = 10m/ ...
- Java面试题及答案汇总(一)
Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Ru ...
- 初学zipkin搭建链路追踪服务注意事项
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/fsy9595887/article/det ...