打开,关闭,打开,关闭,打开。。。说好的操作呢
- 文件
- 定义和类型:文件是数据的抽象和集合,分为文本文件、二进制文件。
及 打开模式 |
| ||
|
|
若文件不存在,返回FileNotFoundError | |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
在原功能基础上增加同时读写功能 |
#Example#
>>>f = open("f.txt") #文本形式、只读模式(缺省默认形式)
>>>f = open("f.txt","a+") #文本形式、追加写模式+读文件
>>>f = open("f.txt","wt") #文本形式、覆盖写模式
>>>f = open("f.txt","wb") #二进制形式、覆盖写模式
文件处理 | ||
|
|
参数表示读入 该文件 前size长度 |
|
参数表示读入 该行 前size长度 | |
|
参数表示读入 该文件 前hint行 | |
|
|
|
|
| |
|
offset:0-文件开头;1-当前位置;2-文件结尾 |
#花式读法
fname = input()
fo = open(fname,"r")
#以上为公用部分
>>> txt = fo.read() #你可以这么读
>>> txt = fo.read(2)
while txt != ""
txt = fo.read(2) #也可以这么读
>>> for line in fo.readlines(): #可以分行读
>>> for line in fo: #甚至可以这样分行读
#以下为公用部分
fo.close()
#把下面那个注释恢复,看看会发生什么
fname = input()
fo = open(fname,"w+")
ls=["J","R","K"]
fo.writelines(ls)
#fo.seek(0)
for line in fo:
print(line)
fo.close()
自动轨迹绘制
#感受文件的魅力
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])
t.fd(datals[i][0])
if datals[i][1]:
t.rt(datals[i][2])
else:
t.lt(datals[i][2])
#data.txt数据格式:行进距离(px),转向判断(0左1右),转向角度(°),RGB三通道值(0~1浮点数)
#共4项6值,逗号隔开
- 一维数据格式化处理
- 表示形式:列表类型(有序)& 集合类型(无序)
- 存储分隔:空格、逗号、特殊符号
- 读取和写入
>>> ls = <变量名>.split("<分隔字符>") #读出
>>> <变量名>.write("<分隔字符>".join(ls)) #写入
- 二维数据格式化处理
- CSV:Comma-Separated Values,国际通用二维数据存储格式,一般以.csv为扩展名
- 每行一个一维数据,用逗号分隔,无空行
#读取CSV
fo = open(fname)
ls = []
for line in fo:
line = line.replace("\n"," ")
ls.append(line.split(","))
fo.close()
#写入CSV
ls = [[],[],[]] #二维列表
fo = open(fname,"w")
>>> for item in ls:
f.write(",".join(item) + '\n') #普通写法
>>> for row in ls:
for column in row:
print(ls[row][column]) #二层循环写法
fo.close()
- wordcloud库
- 优秀的第三方词云库
w = worldcloud.Worldcloud() #根本方法
#以WorldCloud对象为基础,配置参数、加载文本、输出文件
w.generate(txt) #向WorldCloud对象w中加载文本txt
w.to_file(filename) #将词云输出为图像文件(.png或.jpg)格式
############################################################
#example
import wordcloud
c = wordcloud.WordCloud()
c.generate("txt")
c.to_file("filename.png")
############################################################
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
自动调节 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最后实例 |
|
|
|
政府工作报告词云
import jieba
import wordcloud
from scipy.misc import imread # mask引用
#################################################################
mask = imread("chinamap.jpg")
excludes = { }
f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(\
width = 1000, height = 700,\
background_color = "white",
font_path = "msyh.ttc", mask = mask
)
w.generate(txt)
w.to_file("grwordcloudm.png")
# 新时代中国特色社会主义.txt 可换为 任意文本
# "grwordcloudm.png 可为 任意名称