7.1文件的使用

1.1文本类型

文本文件:由单一特定编码组成的文件,如.txt

二进制文件:如.png,.avi

1.2文件的打开和关闭

打开-操作-关闭

<变量名> = open(<文件名和路径>,<打开模式>)

打开模式:'r' 只读模式,默认值,如果文件不存在,返回FileNotFoundError

'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖

'x' 创建写模式,文件不存在则创建,存在则FileExistsError

'a'追加写模式,文件不存在则创建,存在则在文件最后追加内容

'b'二进制文件模式

't'文本文件模式,默认值

'+' 与r/w/x/a一同使用,增加读写功能

<变量名>.close()

1.3文件内容的读取

<f>.read(size=) 读入全部内容,如果给出参数,读入前size长度

<f>.readline(size=) 读入一行内容,如果给出参数,读入该行前size长度s

<f>.readlines(hint=) 读入文件所有行,以每行为元素列表,如果给出参数,读入该行前hint行

1.4数据的文件写入

<f>.write(s) 文件写入一个字符串或字节流

<f>.writelines(lines) 将一个元素全为字符串的列表写入文件

<f>.seek(offset) 改变当前文件操作指针的位置,offset:0-文件开头,1-当前位置,2-文件结尾

7.2自动轨迹绘制实例

#AutoTraceDraw.py
import turtle as t
t.title('自动轨迹绘制')
t.setup(800,600,0,0)
t.pencolor("red")
t.pensize(5)
#数据读取
datals =[]
f = open("data.txt")
for line in f:
line = line.replace("\n","")
datals.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5]) #RGB颜色
t.fd(datals[i][0])
if datals[i][1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])

7.3一维数据的格式化和处理

数据组织的维度

操作周期:存储格式、表示数据类型、操作

一维数据的表示:有序-列表,for循环遍历;无序-集合,for循环遍历;

存储:空格分隔,不换行;逗号分隔,不换行;特殊符号

处理:

f.write(' '.join(ls))#把空格放置在每个元素之间

7.4二维数据的格式化和处理

二维数据的表示:二维列表;

CSV数据存储格式:

二维数据的存储

二维数据的处理:

ls = [[],[],[]]
f = open("1806.csv",'w')
for item in ls:
f.write(','.join(item)+"\n")
f.close()

7.5Wordcloud库

w = wordcloud.WordCloud()

w.generate(txt) 向WordCloud对象w中加载文本txt

w.to_file(filename)将词云输出为图像文件,.png或.jpg格式

width:默认400

height:默认200

min_font_size:指定词云中字体最小号,默认4号

max_font_size:。。。。。。。最大号,根据高度自动调节

eg: w = wordcloud.WordCloud(min_font_size=20)

font_step 指定词云中字体字号的步进间隔,默认为1

font_path :指定字体文件的路径,默认None

max_words :指定词云显示的最大单词量,默认200

stop_words:指定词云的排除词列表,即不显示的单词列表

mask:

from scipy.misc import imread
mk = imread("pic.png")
w = wordcloudWordCloud(mask=mk)

background_color:指定词云的背景颜色,默认为黑色

import wordcloud
txt = "life is short,you need python"
w = wordcloud.WordCloud(\
background_color = "white")
w.generate(txt)
w.to_file("pywcloud.png")
import jieba
import wordcloud
txt = "这个问题困扰了我一年。我一直不敢和他提。\
甚至有时候我会很难受,不行我就辞职吧。\
虽然工作不错、公司不错,但是这个吸二手烟是硬伤啊!\
看吧,这就是我原来的思维。因为不敢提这件事情,甚至想到用辞职去解决。\
进行了心灵强大的刻意练习之后,我在他一次开会抽烟的时候,发了微信,和善而坚定,告诉他不要在我面前吸烟了,电子烟可以。\
结果他爽快的答应了。之后再也没犯过。"
w = wordcloud.WordCloud(width = 1000,font_path="msyh.ttc",height = 700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pycloudcloud.png")

7.6“政府工作报告”词云实例

step1:读取文件、分词整理

step2:设置并输出词云

step3:观察结果,优化迭代

#CovRptWordCloudv1.py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见1.txt","r",encoding="utf-8")#gb2312
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path="msyh.ttc",width=1000,height=700,\
background_color="white",max_words = 15)
w.generate(txt)
w.to_file("grwordcloud.png")

Python第七章(北理国家精品课 嵩天等)的更多相关文章

  1. Python第八章(北理国家精品课 嵩天等)

    程序设计方法 8.1体育竞技分析实例 from random import random def printIntro(): print("这个程序模拟两个选手A和B的某种竞技比赛" ...

  2. Python第六章(北理国家精品课 嵩天等)

    一 1.集合类型定义及其操作: 集合用{}表示,元素用逗号分隔,无序,唯一 集合操作符: |:并 -:减 &:交 ^ :补 <= <:判断子集关系 >= >:判断包含关 ...

  3. Python第四章(北理国家精品课 嵩天等)

    一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) ...

  4. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

  5. Python第五章(北理国家精品课 嵩天等)

    函数和代码复用 函数的定义和使用 def <函数名>(<参数(0个或多个)>): <函数体> return <返回值>可选参数放在不可选参数之后*b不定 ...

  6. Python第三章(北理国家精品课 嵩天等)

    一.数字类型及其操作 整数:pow(x,y),想算多大,就算多大:以0b或0B开头表示二进制:以0o或0O开头表示八进制:以0x或0X开头表示十六进制. 浮点数:取值范围-10^308至10^308, ...

  7. Python第一章(北理国家精品课 嵩天等)

    1.1程序设计基本方法 IPO 分析问题,划分边界,设计算法: 编写程序,调试测试,升级维护. 1.2Python开发环境配置 1.3实例1:温度转换 1.4Python程序语法元素分析 缩进,#添加 ...

  8. 简学Python第七章__class面向对象高级用法与反射

    Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群  群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...

  9. <automate the boring stuff with python>---第七章 正则实例&正则贪心&匹配电话号码和邮箱

    第七章先通过字符串查找电话号码,比较了是否使用正则表达式程序的差异,明显正则写法更为简洁.易扩展.模式:3 个数字,一个短横线,3个数字,一个短横线,再是4 个数字.例如:415-555-4242 i ...

随机推荐

  1. 简单谈谈$.merge()

    var arr1 = [1,2,3]; var arr2 = [1,2,3]; console.log($.merge(arr1,arr2)) //[1,2,3,1,2,3],可见数组间只是合并,不会 ...

  2. 雷林鹏分享:Laravel 安装

    前面我们介绍我了 composer安装,这里我们接着来介绍 Laravel框架的安装. 这里我们安装的是laravel 4 项目下载地址:https://github.com/laravel/lara ...

  3. python正则表达式 - re

    1,匹配符号 任意字符 . : 任意字符,除了\n,flags设置为DOTALL(S)可以让.匹配\n []字符集合,字符组:规范/元字符不同于正则式主体 [0-9] : 数字 [A-Z] : 大写字 ...

  4. Lab 9-3

    Analyze the malware found in the file Lab09-03.exe using OllyDbg and IDA Pro. This malware loads thr ...

  5. anaconda的使用总结

    致python初学者:Anaconda入门使用指南 http://python.jobbole.com/87522/ Anaconda使用总结 http://python.jobbole.com/86 ...

  6. sqlalchemy基础教程

    一.基本配置 连接数据库 外部连接数据库时,用于表名数据库身份的一般是一个URL.在sqlalchemy中将该URL包装到一个引擎中,利用这个引擎可以扩展出很多ORM中的对象. from sqlalc ...

  7. js判断当前浏览器

    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOpera = userAgent.indexOf("Opera ...

  8. 浅谈BFC的理解

    在 web 页面布局中,有三种控制元素版式布局的模型: 普通流 (Flow) 元素在 HTML 中按照先后位置从上至下的流式排列方式布局. 浮动流(Float) 在浮动布局中,元素首先按照普通流的位置 ...

  9. Mac OS X 操作系统下IntelliJ IDEA激活码(Activation code)破解

    Mac OS X 操作系统(版本:10.13.6)下载并安装IntelliJ IDEA: Version: 2018.2.4 Download IntelliJ IDEA 下一步对IntelliJ I ...

  10. VS2013 密钥– 所有版本

    Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9Visual Studio Premium 2013 KEY(密钥): ...