破——Python文件处理


 

'''
文件的展现形态:t文本(有特定的编码) 和 b二进制文件(无统一编码),本质上所有的文件都是以二进制形式存储
操作流程:打开-操作-关闭
打开模式:r(只读,不存在则返回异常)
        w(覆盖写,不存在则创建,存在则覆盖)
        x(创建写,不存在则创建,存在则返回异常)
        a(追加写,不存在则创建,存在则在文件最后追加内容)
        +(与r/w/x/a)一同使用,在原功能基础上增加同时读写的功能
文件内容的读取:
        read(size=-1):默认读出一个大的字符串
        readline():读出一行
        readlines():返回每一行的列表
文件内容的写入:
        write():向文件写入一个字符串
        writelines():讲一个元素全为字符串的 列表 写入文件一行
        seek(0/1/2):0-开头;1-当前;2-结尾  指针位置

一维数据:由对等关系的有序或者无序数据构成,采用线性方式组织。比如,列表、数组、集合等
二维数据:由多个一维数据组成,比如:表格(双重列表)
多维数据:由一维或者二维数据在新维度(时间维度等)上的扩展
高维数据:键值对
常用函数:str.split(str="", num=string.count(str))       返回分割后的字符串列表。
         str.join(sequence)      返回通过指定字符连接序列中元素后生成的新字符串。sequence -- 要连接的元素序列
         map(function, iterable, ...)       根据提供的函数对指定序列做映射。返回一个迭代器。

CSV数据存储格式(用逗号分割值)

wordcloud库
常规方法:
wordcloud.WordCloud()       初步生成一个词云对象,
w.generate(txt)             向对象w中加载文本txt
w.to_file(filename)         将词云输出为图像对象,比如:png、jpg


    w = wordcloud.WordCloud()
    配置对象参数:
    width —— 指定词云对象生成图片的宽度,默认400像素
    height —— 指定词云对象生成图片的高度,默认200像素
    min_font_size —— 指定词云中字体的最小字号,默认4号
    max_font_size —— 指定词云中字体的最大字号,根据高度自动调节
    font_step —— 指定词云中字体的步进间隔,默认为1
    font_path —— 指定字体文件的路径,默认None
    max_words —— 指定词云显示的最大单词量,默认200
    stop_words —— 指定词云的排除词列表
    mask —— 指定词云形状,默认为长方形,需要引用imread()函数
    background_color —— 指定词云图片的背景颜色,默认为黑色

    w = generate(txt)
    加载词云文本

    w.to_file(filename)
    输出词云文件



'''

fi=open(r'C:\Users\DELL\Desktop\t.txt','w+',encoding='utf-8')
ls=['李小龙','武术家','哲学家']
fi.writelines(ls)
fi.seek(0)
for line in fi:
    print(line)

fi.close()
#-------------------------------------------------------------------------------------------------------------
import turtle as t
t.title('自动轨迹绘制')
t.setup(800,600,0,0)
t.pencolor('red')
t.pensize(5)
d=open(r'C:\Users\DELL\Desktop\data.txt')
data=[]
for line in d:
    line=line.replace('\n','')
    data.append(list(map(eval,line.split(','))))
def draw(i):
    t.pencolor(data[i][3],data[i][4],data[i][5])
    t.fd(data[i][0])
    if data[i][1]:
        t.right(data[i][2])
    else:
        t.left(data[i][2])
for i in range(len(data)):
    draw(i)
t.done()
#-------------------------------------------------------------------------------------------------------------
#从CSV中读出数据:
f1=open(r'C:\Users\DELL\Desktop\数据夹子\f1.txt','w+')
l1=[]
for i in range(3):
    f1.write('1,2,3,4,5\n')
f1.seek(0)
for line in f1:
    lines=line.replace('\n','')
    l1.append(list(map(eval,lines.split(','))))
print(l1)
f1.close()
#-------------------------------------------------------------------------------------------------------------
#将数据写入CSV文件中:
l2=[['1','2','3','4','5'],['a','b','c','d','e'],['+','-','*','=','/']]
f2=open(r'C:\Users\DELL\Desktop\数据夹子\f2.txt','w+')
for i in l2:
    lines=','.join(i)+'\n'
    print(lines)
    f2.write(lines)
f2.close()
#-------------------------------------------------------------------------------------------------------------
#词云初步试炼:
import wordcloud as w
import jieba
txt='程序设计语言是计算机能够理解和识别的用户操作意图的一种叫护体系,他按\
照特定的规则组织计算机指令,使计算机能够自动进行各种运算处理'
cloud=w.WordCloud(width=1000,height=800,font_path='msyh.ttc',stopwords=['','计算机'])
cloud.generate(' '.join(jieba.lcut(txt)))
cloud.to_file(r'C:\Users\DELL\Desktop\数据夹子\pycloud.png')
#-------------------------------------------------------------------------------------------------------------
import jieba
import wordcloud
from imageio import imread

f3=open(r'C:\Users\DELL\Desktop\数据夹子\新时代中国特色社会主义.txt','r',encoding='UTF-8')
str1=f3.read()
f3.close()
txt=' '.join(jieba.lcut(str1))
mask=imread(r'C:\Users\DELL\Desktop\数据夹子\云.png')
cloud2=wordcloud.WordCloud(width=800,height=800,font_path='msyh.ttc',mask=mask)
cloud2.generate(txt)
cloud2.to_file(r'C:\Users\DELL\Desktop\数据夹子\pycloud2.png')

相关