Python基础(六)


文件的使用

文件的类型

理解文件:

1、文件是存储在辅助存储器上的数据序列

2、文件是数据存储的一种形式

3、文件展现形态:文本文件和二进制文件(本质上所有文件都是二进制形式存储,只是其展现形式不同)

文件的打开和关闭

打开:a=open(<文件名>,<打开模式>)(文件名指文件路径和名称)

关闭:a.close()

打开模式:

文件的打开模式 描述
‘r’ 只读模式,默认值,如果文件不存在,返回FileNotFoundError
‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖
‘x’ 创建写模式,文件不存在则创建,存在则返回FileExistError
‘a’ 追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’ 二进制文件模式
‘t’ 文本文件模式,默认值
‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能
f=open("f.txt")#文本形式、只读模式、默认值
f=open("f.txt","rt")#文本形式、只读模式、同默认值
f=open("f.txt","w")#文本形式、覆盖写模式
f=open("f.txt","a+")#文本形式、追加写模式+读文件
f=open("f.txt","x")#文本形式、创建写模式
f=open("f.txt","b")#二进制形式、只读模式
f=open("f.txt","wb")#二进制形式、覆盖写模式

文件的内容读取

操作方法 描述
.read(size=-1) 读入全部内容,如果给出参数,读入前size长度
.readline(size=-1) 读入一行内容,如果给出参数,读入改行前size长度
.readlines(hint=-1) 读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行

数据的文件写入

操作方法 描述
.write(s) 向文件写入一个字符串或字节流
.writelines(lines) 将一个元素全为字符串的列表写入文件
.seek(offset) 改变当前文件操作指针的位置,offset含义如下:0-文件开头;1-当前位置;2-文件结尾

wordcloud库的使用

安装:pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple/

使用:w=wordcloud.WordCloud()

常用方法:

方法 描述
w.generate(txt) 向WordCloud对象w中加在文本txt
w.to_file(filename) 将词云输出为图像文件,.png或.jpg格式
import wordcloud
c=wordcloud.WordCloud()#步骤1:配置对象参数
c.generate("wordcloudby Python")#步骤2:加载词云文本
c.to_file("pywordcloud.png")#配置3:输出词云文件

.png)

配置对象参数:

参数 描述
width 置顶词云对象生成图片的宽度,默认400像素
>>>w=wordcloud.WordCloud(width=600)
height 指定词云对象生成图片的高度,默认200像素
>>>w=wordcloud.WordCloud(height=400)
min_font_size 指定词云中字体的最小字号,默认4号
>>>w=wordcloud.wordCloud(min_font_size=10)
max_font_size 指定词云中字体的最大字号,根据高度自动调节
>>>w=wordcloud.wordCloud(max_font_size=20)
font_step 指定词云中字体字号的步进间隔,默认为1
>>>w=wordcloud.wordCloud(font_step=2)
font_path 指定字体文件的路径,默认None
>>>w=wordcloud.wordCloud(font_path=”msyh.ttc”)
max_words 指定词云显示的最大单词数量,默认200
>>>w=wordcloud.wordCloud(max_words=20)
stop_words 指定词云的排出词列表,即不显示的单词列表
>>>w=wordcloud.wordCloud(stop_words={“python”})
mask 指定词云形状,默认为长方形,需要引用imread()函数
>>>from scipy.misc import imread
mk=imread(“pic.png”)
>>>w=wordcloud.wordCloud(mask=mk)
background_color 指定词云图片的背景颜色,默认为黑色
>>>w=wordcloud.wordCloud(background_color=”white”)

实例1:

import wordcloud
txt="life is short, you need python"
w=wordcloud.WordCloud(background_color="white")
w.generate(txt)
w.to_file("pywcloud.png")

实例2:

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("pycloud.png")

体育竞技分析

from random import random

def printIntro():
    print("这个程序模拟两个选手A和B的某种竞技比赛")
    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")

def getInputs():
    a=eval(input("请输入选手A的能力值(0-1):"))
    b=eval(input("请输入选手B的能力值(0-1):"))
    n=eval(input("模拟比赛的场次:"))
    return a,b,n

def printSummary(winsA,winsB):
    n=winsA+winsB
    print("竞技分析开始,共模拟{}场比赛".format(n))
    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA,winsA/n))
    print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB,winsB/n))

def gameOver(a,b):
    return a==15 or b==15

def simOneGame(proA,proB):
    scoreA,scoreB=0,0
    serving="A"
    while not gameOver(scoreA,scoreB):
        if serving=="A":
            if random()<proA:
                scoreA+=1
            else:
                serving="B"
        else:
            if random()<proB:
                scoreB+=1
            else:
                serving="A"
    return scoreA,scoreB

def simNGames(n,proA,proB):
    winsA,winsB=0,0
    for i in range(n):
        scoreA,scoreB=simOneGame(proA,proB)
        if scoreA>scoreB:
            winsA+=1
        else:
            winsB+=1
    return winsA,winsB

def main():
    printIntro()
    proA,proB,n=getInputs()
    winsA,winsB=simNGames(n,proA,proB)
    printSummary(winsA,winsB)

main()

安装第三方库的多种方法

python社区:PyPi

常用方法:win+r->cmd->pip install <第三方库名>

常用pip指令

pip install -U <第三方库名> #更新已安装的指定第三方库

pip uninstall <第三方库名> #卸载指定的第三方库

pip download <第三方库名> #下载但不安装指定的第三方库

pip show <第三方库名> #列出某个指定第三方库的详细信息

pip search <第三方库名> #根据关键词在名称和介绍中搜索第三方库

pip list #列出当前系统已经安装的第三方库

集成安装:Anaconda

第三方库安装脚本

import os
libs = {"numpy","matplotlib","pillow","sklearn","requests",\
        "jieba","beautifulsoup4","wheel","networkx","sympy",\
        "pyinstaller","django","flask","werobot","pyqt5",\
        "pandas","pyopengl","pypdf2","docopt","pygame"}
try:
    for lib in libs:
        os.system("pip3 install "+lib)
    print("Successful")        
except:
    print("Failed Somehow")

展望

.png)

参考资料

https://www.icourse163.org/learn/BIT-268001?tid=1207014257#/learn/content


文章作者: Amonologue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Amonologue !
  目录