python入门——常见的几种内置模块及方法

模块

python中的模块,类似于C语言中的头文件,特指某个x.py文件

模块的导入

import package	#导入包
import package as A  #使用别名方便代码书写
import package.module #导入包中的模块,该方法使用模块需要package.module使用
from package import module #导入包中的模块,该方法可以直接使用模块

常见的几种内置模块

random (计算机API实现的随机数都是伪随机数)
  • random.random() 返回一个0-1的随机数
>>> random.random()
0.2388863907333234
>>> random.random()
0.6016820339244138
  • random.randint(x,y) 返回一个[x,y]中的随机整数
>>> random.randint(1,20)
9
>>> random.randint(1,20)
17

-random.choice(sequence) 从序列中随机返回一个元素

>>> ls = [0,1,2,3,4,5,6]
>>> random.choice(ls)
0
>>> random.choice(ls)
3
  • random.uniform(x,y) 返回[n,m]中的随机数
>>> random.uniform(10,20)
10.10720709034046
>>> random.uniform(10,20)
19.725267711404513
  • random.randrange(start,stop,step) 随机产生一个[start,stop)中的整数,step默认为1
>>> random.randrange(20)
9
>>> random.randrange(20)
19
  • random.shuffle(list) 随机列表中的元素顺序,若无参数,则返回一个[0,1)之间的随机数
>>> ls
[0, 1, 2, 3, 4, 5, 6]
>>> random.shuffle(ls)
>>> ls
[5, 3, 1, 6, 0, 2, 4]
math 数学计算的一种模块
  • math.ceil() 向上取整
>>> math.ceil(2.0000001)
3
  • math.floor() 向下取整
>>> math.floor(2.999999)
2
  • math. fabs() 求绝对值
>>> math.fabs(-1)
1.0
>>> math.fabs(-2)
2.0
  • math.fmod 求模(余数)
>>> math.fmod(8,3)
2.0
  • math.modf 以元组形式返回整数部分和小数部分
>>> math.modf(8.3333)
(0.3332999999999995, 8.0)
  • math.pow 求幂次方
>>> math.pow(2,3)
8.0
  • math.sqrt 开平方根
>>> math.sqrt(4)
2.0
>>> math.sqrt(25)
5.0
  • math.pi 圆周率
>>> math.pi
3.141592653589793
  • math.radians(x) 将x从角度转换到弧度
>>> math.radians(180)
3.141592653589793
>>> math.radians(360)
6.283185307179586
os

用来操作操作系统中的文件系统的模块,很多方法和操作系统的命令很相似

  • chdir 修改当前工作空间路径
>>> a = os.getcwd()
>>> print(a)
C:\Users\11140
>>> path = "logs"
>>> os.chdir(path)
>>> a =os.getcwd()
>>> print(a)
C:\Users\11140\logs
  • chmod(path,mode) 修改权限
  • makedirs(path,mode) 创建文件夹,可以级联创建多层
  • mkdir(path,[mode]) 创建文件夹,只能创建一层
mode:
stat.S_IXOTH: 其他用户有执行权0o001
stat.S_IWOTH: 其他用户有写权限0o002
stat.S_IROTH: 其他用户有读权限0o004
stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
stat.S_IXGRP: 组用户有执行权限0o010
stat.S_IWGRP: 组用户有写权限0o020
stat.S_IRGRP: 组用户有读权限0o040
stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
stat.S_IXUSR: 拥有者具有执行权限0o100
stat.S_IWUSR: 拥有者具有写权限0o200
stat.S_IRUSR: 拥有者具有读权限0o400
stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
stat.S_IREAD: windows下设为只读
stat.S_IWRITE: windows下取消只读
  • listdir 遍历得到当前工作空间下的所有文件及文件夹,返回一个列表
  • scandir 遍历得到当前工作空间下的所有文件及文件夹,返回一个迭代器对象
>>> a = os.listdir()
>>> print(a)
>>> type(a)
<class 'list'>
>>> b=os.scandir()
>>> type(b)
<class 'nt.ScandirIterator'>
  • curdir 表示当前路径(相对路径)
  • getcwd 表示当前路径(绝对路径)
>>> a = os.getcwd()
>>> print(a)
C:\Users\11140
>>> print(os.curdir)
.
  • remove 删除文件
  • removedirs 删除文件,可多级删除
  • rmdir 删除文件夹,可多级删除
os.path

用来操作文件的,判断文件是否存在、判断是文件还是文件夹等等

  • abspath 显示相对路径
>>> print(os.path.abspath)
<function abspath at 0x03517CD8>
>>> print(os.path.abspath(os.curdir))
C:\Users\11140
  • dirname 获取目录
>>> print( os.path.dirname('/haha/xixi/hehe') )
/haha/xixi
  • basename 显示路径对应的文件名称
>>> print( os.path.basename('/haha/xixi/hehe.txt') )
hehe.txt
  • getsize 获取文件大小(以字节为单位)
  • getatime 获取最近访问时间
  • getctime 获取文件创建时间
判断
  • exists(path) 判断文件或者文件夹是否存在
  • isdir(file) 判断是否是目录
  • isfile(file) 判断是否是文件
  • islink(file) 判断路径是否为链接
  • ismount(file) 判断路径是不是一个挂载文件
  • join(path1[,path2[,…]]) 拼接路径,系统自动生成分隔符
  • split(path) 分割文件路径
time
  • asctime 获取当前时间
  • ctime 获取当前时间
  • gtime 返回当前时间对象(伦敦时区)
  • localtime 返回当前时间(当前时区)
>>> time.asctime()
'Fri Sep 11 11:11:08 2020'
>>> time.ctime()
'Fri Sep 11 11:14:11 2020'
>>> time.gmtime()
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=11, tm_hour=3, tm_min=14, tm_sec=24, tm_wday=4, tm_yday=255, tm_isdst=0)
>>> time.localtime()
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=11, tm_hour=11, tm_min=16, tm_sec=15, tm_wday=4, tm_yday=255, tm_isdst=0)
  • sleep 当前线程停止运行(单位:秒)
>>> time.sleep(2)
  • strftime 将时间对象转化为字符串
  • strptime 将字符串转化为时间对象
>>> time.strftime("%Y-%m-%d")
'2020-09-11'
>>> time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime())
'2020-09-11-11-26-22'
>>> time.strftime("%Y-%m-%d-%H-%M-%S")
'2020-09-11-11-26-30'

>>> my_time="2020-9-11 12:10:20"
>>> time.strptime(my_time,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=11, tm_hour=12, tm_min=10, tm_sec=20, tm_wday=4, tm_yday=255, tm_isdst=-1)
  • struct_time(元组) 构造一个对应的时间对象
  • time 获取当前时间戳(距离1970年1月1日0分0秒到现在的时间,单位:秒)
>>> time.time()
1599794292.420146
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值