文本处理

什么是文件

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

什么是文本

.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. WSL记录

    cmder(mini版)作为wsl的终端,很好用,可以split屏.但是:千万不要在settings里面设置start up(启动) 里面设置 命令行“bash -cur_console:p1”!目前 ...

  2. await 只能在 async 中使用吗? 并不是

    for await (let a of [1,2,3]) { console.log(a) } ​

  3. nexus 3.x最新版下载安装和上传下载jar

    注意: nexus 3.x最新版好像不用下载索引了,目前我使用一些基本功能没有索引也能耍的很6 下载 nexus最新版下载https://www.sonatype.com/download-oss-s ...

  4. js:如何在iframe重载前执行特定动作

    问题说明: 点击左侧菜单时,右侧页面中的iframe加载菜单内容,在iframe加载的页面A中使用了websocket.点击其它菜单时,无法主动关闭websocket, 可能会造成websocket链 ...

  5. RTSP Spectification

    Refer: https://www.ietf.org/rfc/rfc2326.txt Network Working Group H. SchulzrinneRequest for Comments ...

  6. 启动Oracle 12c数据库实例

    启动Oracle 12c数据库实例 启动Oracle数据库实例,主要分为两步:第一步,启动监听:第二步,启动数据库实例. 1. 切换到oracle用户- su oracle- cd - source ...

  7. Java Web 应用概述

    1.java Web 应用是建立在java语言基础上的企业web应用系统,oracle公司根据行业发展和便于开发制定了一套规范:Java EE规范,截至到当前(2016.3.11)是java EE7规 ...

  8. solr的创建分片的方式

    在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是: (1)大数据量下更高的性能 (2)更好扩展性 (3)更高的可靠性 (4)更简单易用 什么时候应该使用Sol ...

  9. maven cloudara依赖下载

    最近开发的项目使用到了cloudara的依赖,已经在pom.xml 中配置了cloudara的repository,但是还是无法下载 <repositories> <reposito ...

  10. firewall详解

    官方文档介绍地址:https: //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Gui ...