百科不全书之Python常用库

  • 参考链接
  • PyInstall 库
  • random库
  • time库
  • wordcloud 库
  • os 库
  • 路径操作
  • 进程管理
  • 环境参数
  • 第三方库自动安装脚本
  • turtle 库
  • jieba库


参考链接

北京理工大学 Python语言程序设计

PyInstall 库

这个是第三方库 用来打包python的程序

pyinstaller -i ico.ico -F **.py

python sample 种子 python种子库_词云

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实现。

python sample 种子 python种子库_python sample 种子_02


python sample 种子 python种子库_字符串_03


python sample 种子 python种子库_python_04


python sample 种子 python种子库_ci_05

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("中华人民共和国是伟大的")
['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '伟大', '的']