python 常用模块

os模块

import os

print(os.getcwd())  # 获取当前工作目录
print(os.listdir("."))  # 获取指定目录下的所有文件和目录名
os.remove("test.py")  # 删除一个文件
os.removedirs("1")  # 删除多个目录
os.path.isdir("xxx") # 判断是否是个目录
os.path.isfile("test1.py") # 判断是否是个文件
os.path.isabs(os.getcwd())  # 判断是否是绝对路径
os.path.exists()  # 判断给出的路径是否存在
os.path.split()  # 返回一个路径的文件名和目录
os.path.splitext("E:\PycharmProjects\pythonProject3\模块\test1.py")  # 分离扩展名
print(__file__) # 打印当前脚本所在的路径,包括文件名
os.path.dirname(__file__) # 获取路径名(相对路径)
os.path.abspath(__file__)  # 获取绝对路径名
print(os.path.basename(__file__)) # 获取文件名
os.system("")  # 运行shell命令
os.stat()  # 获取path指定的路径的信息
os.chmod() # 修改权限

sys模块

import sys

print(sys.argv)  # 返回命令行参数
sys.exit("85")  # 退出
print(sys.version)  # 获取python解释器的版本信息
print(sys.path)  # 返回模块的搜索路径
print(sys.platform)  # 返回操作系统的名称
sys.stdout.write('hello')  # 相当于print()
print(sys.stdin.readline("请输入")) # 类似input,但是无法输入str,需要转换成int,不推荐
sys.getrecursionlimit()  # 获取/修改最大递归层数
print(sys.getdefaultencoding())  # 获取解释器的默认编码
print(sys.getfilesystemencoding())  # 获取内存数据存在文件里的默认编码

time和daytime模块

python中表示时间的方式:
1.时间戳,表示从1970年1月1日00:00:00开始按秒计算的偏移量
2.格式化的字符串,比如“2022-05-20 00:00”
3.元组共9个元素。由于python的time模块实现主要调用C库,所以各个平台可能有所不同,这个到时候再说!!!
UTC时间
世界协调时亦即格林威治天文时间,世界标准时间。在中国为UTC+8,又称为东8区。DST即夏令时

time模块的方法
time.localtime() 将一个时间戳转换为当前时区的struct_time(元组),无数据提供就以当前时间为准
在这里插入图片描述
这里就说到上面的那个元组的表示方式了,我们来看一下
tm_year=2022, (年)
tm_mon=5, (月)
tm_mday=22, (日)
tm_hour=22, (时)
tm_min=3,(分)
tm_sec=12, (秒)
tm_wday=6,(一周的第几天,0表示周一)
tm_yday=142,(一年的第几天)
tm_isdst=0(是否为夏令时,默认是-1)

time.gmtime() 类似localtime只是是按UTC时区的方式来计算的,就会比现在的北京时间早了8个小时,通过下图我们可以对比一下
在这里插入图片描述
time.time() 返回当前的时间戳
time.mktime() 将一个struct_time转化成为时间戳(就是和上面相反的操作!!!)
time.sleep() 线程推迟指定的时间运行,单位为秒
time.asctime() 把一个表示时间的struct_time传入,返回Sun May 22 22:20:02 2022 这种格式(不常用)
time.ctime() 把一个时间戳转换成为Sun May 22 22:20:02 2022 这种格式,无数据采用当前时间
time.strftime(“输入你自己想要的时间格式”,要转化的时间(元组),无数据按当前时间)

time.strftime(“%Y-%m-%d %H:%M:%S %p”)
‘2022-05-22 22:31:57 PM’

下面附赠格式时间搭配:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

time.strptime(“时间”,”用的什么格式”) 把一个时间字符串转换为元组的格式(与上面的方法正好相反)
在这里插入图片描述
总结一下对应关系如下图
在这里插入图片描述

daytime模块

datetime.date 表示日期的类 最多到天,不显示小时分钟等等
datetime.time 表示时间的类 (不用)
datetime.datetime 表示日期时间
datetime.timedelta 可以做一个时间的运算

import datetime
datetime.datetime.now()
datetime.datetime(2022, 5, 23, 14, 0, 16, 714967)
datetime.datetime.now()+datetime.timedelta(days=4,hours=-2)
datetime.datetime(2022, 5, 27, 12, 1, 40, 379467)

时间替换使用replace

datetime.date.today()
datetime.date(2022, 5, 23)

a = datetime.date.today()
a.replace(month=6,day=20)
datetime.date(2022, 6, 20)

现在目前我们上面说的所有的时间都是按照我们计算机分配给我们的时间的,然而时间上,现实我们存在好多个时区,不同的时区对应不同的时间差异,下面我们就来看看

import pytz
import datetime
print(datetime.datetime.now())
print(datetime.datetime.now(tz=pytz.timezone('America/Los_Angeles')))

我们可以看到加了美国洛杉矶的时区后时间往前走了几个小时
在这里插入图片描述

随机数random模块

random.randrange(1,10,2) 返回1-10中间的一个随机数,不包括10,步长为2
random.randint(1,10) 返回1-10中间的一个随机数,包括10,无步长
random.random() 返回一个随机浮点数(本身是返回0-1之前的数,可以根据需要扩大倍数)
在这里插入图片描述
random.choice(‘zhangsan’) 返回一个给定数据集合中的随机字符

random.choice(‘zhangsan’)
‘n’

random.sample(‘hdashdlkjasd’,次数) 从多个字符中选取特定数量的字符

random.sample(‘dasfafdsfsdgas’,5)
[‘f’, ‘f’, ‘f’, ‘a’, ‘s’]
生成随机字符串 (有点类似输入验证码的感觉!!!)
import string
“”.join(random.sample(string.ascii_lowercase + string.digits,5))
‘9p2cv’
“”.join(random.sample(string.ascii_lowercase + string.digits,5))
‘s7ro2’
“”.join(random.sample(string.ascii_lowercase + string.digits,5))
‘0x7n8’
“”.join(random.sample(string.ascii_lowercase + string.digits,5))
‘8jvsp’

洗牌
random.shuffle() 将列表中的元素打乱

a = list(range(10))
a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(a)
a
[5, 1, 2, 8, 4, 6, 9, 7, 3, 0]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发酵的西瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值