目录
-
导模块的方式
import 模块名称 |
import 模块名称.子模块名称 |
import 模块名称.子模块名称 as 别名 |
from 包名称 import 模块 |
1.如何知道一个模块中有哪些属性?
可以通过 dir(模块名称) 列出模块中所有的属性
2.如何得知该属性的使用方法?
通过 help(模块名称.属性) 获取使用方法,若英语有问题可使用翻译软件
由帮助我们可以知道 random.randint(a,b) 是用来生成范围在 [a,b] 之间的随机整数
下面来介绍在python中内置的常用模块
-
random
1.该模块主要用来产生随机数(伪随机数)
那么为什么称为伪随机数呢?因为是python内部通过一定的算法产生类似随机数的形式
2.常见属性
属性 | 解释 | 示例 |
randint(a,b) | 产生a到b之间的随机整数包括a,b | |
random() | 产生0~1之间的随机数 | |
choice() | 从一个非空序列(有序可循)中随机选择一个元素 |
-
math
1.主要的作用数学运算
2.常见属性
属性 | 解释 | 举例 |
ceil() | 向上取整,若有类似3.0,则为3 | |
floor() | 向下取整 | |
e | 自然常数 | |
fabs() | 求绝对值 | |
fmod(a,b) | 求余数 | |
pi | 圆周率 | |
pow(a,b) | 求幂次方 | |
sqrt() | 开平方根 |
-
os
1.常用于系统的文件系统
2.常见属性
分类 | 属性 | 解释 | 举例 |
cpu | cpu_count() | 返回cpu的核对应的线程数 | |
路径 | getcwd() | 获取绝对路径 | |
curdir | 获取相对路径 | ||
chdir() | 修改当前工作路径 | ||
文件夹 | listdir() | 列出某路径下的所有文件及文件夹,括号内路径可传可不传,不传默认打印当前工作路径下的内容 | |
mkdir() | 创建一个目录 | ||
makedirs() | 创建多级目录即递归创建,无论前一个目录存在否 | ||
rmdir() | 删除一个目录 | ||
removedirs() | 删除目录,支持多层删除,递归删除 | ||
文件 | rename() | 重命名文件 | |
remove() | 删除文件 | ||
分隔符 | sep | 路径分隔符,windows为‘\\’,Linux为'/' | |
pathsep | 环境变量分隔符,window ; linux : | ||
linesep | 对应系统的换行符 | ||
进程号 | getpid() | 获取当前进程的进程编号 | |
getppid() | 获取当前进程的父进程编号 | ||
kill() | 通过进程编号杀死进程,linux中 | ||
chmod() | 修改权限 | ||
system() | 执行终端命令 |
-
os.path
from os import path 以这种方式导包,免去前面要写os
分类 | 属性 | 解释 | 示例 |
目录 | abspath(相对路径) | 返回路径对应的绝对路径 | |
curdir() | 当前目录 | ||
realpath() | 返回真实路径 | ||
split() | 分割路径 | ||
isdir() | 判断是否目录 | ||
isabs() | 判断是否绝对路径 | ||
join(p1, p2) | 拼接路径 | ||
sep | 路径分割符 | ||
文件 或 目录 | dirname() | 文件或文件夹所在的目录 | |
exists() | 判断文件或者目录是否存在 | ||
getctime() | 创建时间 | ||
getmtime() | 修改时间 | ||
getsize | 获取目录或文件的大小,单位是字节 | ||
文件 | basename() | 文件名称 | |
isfile() | 判断是否文件 | ||
其他 | altsep | 查看python中的各种符号 | |
ismount() | 判断是不是挂载文件 | ||
islink() | 判断是不是链接 |
-
sys
属性 | 解释 | 示例 |
api_version | python的内部版本号 | |
copyright | 输出cpython的版权信息 | |
sys.exit() | 退出系统 | |
getdefaultencoding() | 获取默认编码(默认是utf-8) | |
getfilesystemencoding() | 获取文件系统默认编码(默认是utf-8) | |
getrecursionlimit() | 获取python对于递归的限制层数 | |
setrecursionlimit(num) | 设置递归的限制层数(不建议修改) | |
getrefcount(对象) | 获取对象的引用计数,垃圾回收机制中 | |
getwindowsversion() | 获取窗口的版本信息 | |
version() | 获取版本信息 | |
argv() | 接收脚本参数的,注意第一个参数是脚本名称 |
对于sys.argv()再来举个程序例子来解释一下,程序如下:
import sys
print(sys.argv[0:])
结果:括号里从0开始即第一个为脚本名称
-
hashlib
import hashlib | 导入模块 |
md5 = hashlib.md5('1234'.encode('utf-8')) | 创建hashlib的md5对象 |
md5.hexdigest() | 获得md5对象的16进制md5显示 |
md5.update('78'.encode('utf-8')) | 若需在之前md5对象的密码进行增加 |
可以通过md5的网站(https://www.cmd5.com/)来查看加密解密后的数值是否是我们想要的样子
1.密码为‘1234’时
复制16进制加密后的结果到网站解密查看
2.密码为‘123478’时
-
hmac
使用对称加密,有盐值混淆,比较安全
此种加密方式,md5网站查不到
-
time
属性 | 解释 | 示例 |
asctime() | 获取当前时间 | |
time() | 获取当前时间戳 | |
ctime() | 获取当前时间,可以传时间戳 | |
localtime() | 本地时间(可手动格式化) | |
sleep() | 休眠时间,单位是秒 | |
strptime | 将一个特定格式的时间字符串转换为时间对象 | |
strftime | 将一个时间对象格式化为特定的字符串 |
-
datetime
1.导入模块
from datetime import datetime
2.获取系统当前时间
-
uuid
获取用不重复的字符串