百科不全书之Python常用库
- 参考链接
- PyInstall 库
- random库
- time库
- wordcloud 库
- os 库
- 路径操作
- 进程管理
- 环境参数
- 第三方库自动安装脚本
- turtle 库
- jieba库
参考链接
PyInstall 库
这个是第三方库 用来打包python的程序
pyinstaller -i ico.ico -F **.py
random库
random.random() 返回[0,1)内一个随机浮点数 null
random库是使用随机数的Python标准库
生成的是采用梅森旋转算法的伪随机数
import random
random.seed([x]) # 改变随机数生成器的种子 默认为系统的时间,意义在于给定固定的种子,产生的随机数也是一定的,这样方便问题的复现
random.random() # 返回[0,1)内一个随机浮点数 null
random.randint(m,n) #返回[m,n]中的一个随机整数 m,n必须是整数
random.randrange(m,n[,k]) #返回[m,n)中以k为步长的一个随机整数 m,n,k必须是整数
k默认为1
random.getrandbits(k) #返回一个可以用k位二进制的整数 k为整数
random.uniform(m,n) # 返回[m,n)中的一个随机浮点数 m,n可以是整型或是浮点型
random.choice(seq) # 返回一个列表、元组或字符串的随机项。 字符串、列表或元组
random.sample(seq,k) #返回k个列表、元组或字符串的随机项。 字符串、列表或元组
random.shuffle(list) #
time库
time() # 获取当前时间戳(就是计算机内部的计时值)返回的是浮点数
ctime() # 获取当前时间并且以可读的方式表示,返回的是字符串
gmtime() # 获取当前计算机可处理的时间格式 返回struct_time格式
# tpl 是格式化模板字符串,用来定义输出效果;而ts是计算机内部的时间类型变量 ("%Y-%m-%d %H:%M:%S",t)
strftime(tpl,ts) # 利用格式字符串,对时间格式进行表达。
strptime(str,tpl) # 提取字符串中时间来生成strut_time对象
#测量时间
perf_counter() # 返回一个CPU级别的精确时间计数值,单位为秒。由于这个计数值起点不确定,连续调用差值才有意义
sleep(secs) # 延时 参数可以是小数
st = time.perf_counter()
time.sleep(0.2)
end = time.perf_counter()
print(end-start)
格式化字符 | 解释 |
%Y | 年份 |
%m | 月份 |
%B | 月份名称 |
%b | 月份名称缩写 |
%d | 日期 |
%A | 星期 |
%a | 星期缩写 |
%H | 小时(24小时) |
%h | 小时(12小时) |
%p | 上午/下午 |
%M | 分钟 |
%S | 秒钟 |
wordcloud 库
步骤1 配置对象参数; 步骤2 加载词云文本; 步骤3 输出词云文件
常规方法:1 分隔:以空格分隔单词; 2 统计:单词出现次数并过滤;3字体:根据统计配置字号;4布局:颜色环境尺寸
w = wordcloud.WordCloud()
w.generate(txt) # 向WordCloud对象w中加载文本TXT,
w.to_file(filename) # 将词云输出为图像文件,.png或.jpg格式
import wordcloud
c = wordcloud.WordCloud()
c.generate("wordcloud by Python")
c.to_file("pywordcloud.png")
配置对象参数
参数 | 描述 |
用法 | >>>w=wordcloud.WordCloud( max_font_size=20 ) |
min_font_size | 指定词云中字体的最小字号,默认4号 |
max_font_size | 指定词云中字体的最大字号,根据高度自动调节 |
font_step | 指定词云中字体字号的步进间距,默认为1 |
font_path | 指定字体文件的路径,默认None |
font_path用法 | >>> w=wordcloud.WordCloud(font_path=“msyh.ttc”) #msyh 为微软雅黑 |
max_words | 指定词云显示的最大单词数量,默认200 |
stop_words | 指定词云的排除列表,即不显示的单词列表 |
mask | 指定词云形状,默认为长方形,需要引用imread()函数 |
masl用法 | >>>from scipy.misc import imread; >>> mk=imread(“pic.png”); >>>w=wordcloud.WordCloud(mask=mk) |
background_color | 指定词云图片的背景颜色,默认为黑色 |
background_color 用法 | >>>w=wordcloud.WordCloud(background_color=“white”) |
import jieba
import wordcloud
w=wordcloud.WordCloud(width=1000,font_path="msyh.ttc",height=700)
w.generate("".join(jieba.lcut(txt)))
# 读取政府工作报告
import jieba
import wordcloud
from scipy.misc import imread
mask = imread("chinampa,jpa")
f = open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = "".join(ls)
w = wordcloud.WordCloud( font_path = "msyh.ttc",mask = mask width = 1000, height = 700 background_color = "white")
w.generate(txt)
w.to_file("grwordcloud.png")
os 库
os库是Python标准库,包含几百个函数
常用的有路径操作,进程管理,环境参数等几类
路径操作
os.path子库来实现
import os.path
函数 | 描述 |
os.path.abspath(path) | 返回path在当前系统中的绝对路径 >>>os.path.abspath(“file.txt”) |
os.path.normpath(path) | 归一化path的表示形式,统一用\分隔路径 |
os.path.relpath(path) | 返回当前程序与文件之间的相对路径 |
os.path.dirname(path) | 返回path中的目录名称 >>>os.path.basename(“D://PYE//file.txt”) ‘file.txt’ |
os.path.basename(path) | 返回path中的最后的文件名称 |
os.path.join(path,*paths) | 组合path 和 paths,返回一个路径字符串 >>>os.path.join(‘D:/’,“PYE/file.txt” |
os.path.exists(path) | 判断path对应文件或目录是否存在,返回True或False |
os.path.isfile(path) | 判断path所对应是否为已存在的文件,返回True或False |
os.path.isdir(path) | 判断path所对应是否为已存在的目录,返回True或False |
os.path.getatime(path) | 返回path对应文件或目录上一次的访问时间 |
os.path.getmtime(path) | 返回path对应文件或目录最近一次的修改时间 |
os.path.getctime(path) | 返回path对应文件或目录的创建时间 |
os.path.getsize(path) | 返回path对应文件的大小,以字节为单位 |
进程管理
os.system(command) # 在win系统中,返回值为cmd的调用返回信息
# 例
import os
os.system("C:\\Windows\\System32\\calc.exe") # 调用计算器程序
>>> 0 # 代表程序正确运行
os.system("C:\\Windows\\System32\\mspaint.exe D:\\PYECourse\\grwordclode.png") #打开文件并指定参数
环境参数
函数 | 描述 |
os.chdir(path) | 修改当前程序操作的路径 |
os.getcwd() | 返回程序的当前路径 |
os.getlogin() | 获得当前系统登录用户名称 |
os.cpu_count() | 获得当前系统的cpu数量 |
os.urandom(n) | 获得 n 个字节长度的随机字符串,通常用于加解密运算 |
第三方库自动安装脚本
拓展:可以增加配置文件,捕获更多异常类型
import os
libs = {"numpy","pillow","sklearn"}
try:
for lib in libs:
os.system("pip install "+lib)
print("Successful")
except:
print("Failad Somehow")
turtle 库
turtle(海龟)库是turtle绘图体系的python实现。
turtle.setup(650,350,200,200) #确定画布的大小和位置,后两个参数是可选的,setup不是必须的
turtle.penup() #提起画笔
turtle.pendown() #放下画笔
turtle.pensize(7) #设置画笔的粗细
turtle.width(7) # =pensize 跟原函数一样 只是这是别名
turtle.pencolor("gold") #设置画笔颜色
tirele.pencolor(0.63,0.13,0.994) #rgb形式设置颜色
tirele.pencolor( (0.63,0.13,0.994) ) #元组形式设置颜色
turtle.fillcolor('#33cc8c') #设置填充颜色
turtle.circle(math.sqrt(3)*200/3,420) #画圆,前一个参数是圆的半径,后一个参数是要画的角度
// 海龟的空间坐标体系
// 绝对坐标
turtle.goto(100,100)
turtle.goto(100,-100)
// 海龟坐标
turtle.fd(d) // 向前
turtle.bk(d) // 向后
turele.circle(r,angle) // 画圆
// 角度坐标体系
turtle.seth(angle) //只改变前进方向 但不行进 angle为绝对角度
turtle.left(angle)
turtle.right(angle)
// 设置RGB色彩体系
turele.colormode(mode) // 1.0 RGB小数模式 255 RGB整数模式
import turtle
turtle.setup(600,600,400,400)
turtle.pensize(2)
for i in range(4):
turtle.left(45)
turtle.fd(15)
turtle.circle(15,45)
turtle.left(45)
turtle.fd(15)
jieba库
中文分词第三方库,需要额外安装。 pip install jieba
有三种模式:精确模式,全模式,搜索引擎模式
精确模式:把文本精确的切分开,不存在冗余单词
全模式:把文本中所有可能的词语都扫描出来,有冗余。
搜素引擎模式:在精确模式基础上,对长次再次切分。
函数 | 描述 |
jieba.lcut(s) | 精确模式,返回一个列表类型的分词结果 |
jieba.lcut(s,cut_all=True) | 全模式,返回一个列表类型的分词结果,存在冗余 |
jieba.lcut_for_search(s) | 搜索引擎模式,返回一个列表类型的分词结果,存在冗余 |
jieba.add_word(w) | 向分词词典增加新词w |
>>>jieba.lcut("中国是一个伟大的国家")
['中国','是','一个','伟大','的','国家']
>>>jieba.lcut("中国是一个伟大的国家",cut_all=True)
['中国','国是','一个','伟大','的','国家']
>>>jieba.lcut_for_search("中华人民共和国是伟大的")
['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '伟大', '的']