文件的使用
文件的类型
理解文件:
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