python_d07

01 时间模块

# import time
'''
掌握
'''
# print(time.time())
# '''
# 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
# 1558179986.5781155
# '''
# print(time.strftime('%Y_%m_%d'))  #2019_05_18
# print(time.strftime('%Y-%m-%d %H:%M:%S'))
# print(time.strftime('%Y-%m-%d %X'))
#%X    Locale’s appropriate time representation.本地相应时间


# print(time.localtime())
#本地东八区时间,time.struct_time(tm_year=2019, tm_mon=5, tm_mday=18, tm_hour=21, tm_min=5, tm_sec=17, tm_wday=5, tm_yday=138, tm_isdst=0)
# print(time.gmtime())
#格林尼治时间,时间标准时间,time.struct_time(tm_year=2019, tm_mon=5, tm_mday=18, tm_hour=13, tm_min=6, tm_sec=28, tm_wday=5, tm_yday=138, tm_isdst=0)


'''
记不住查表
'''
#时间戳转结构化的时间
# print(time.localtime(456725345))
#time.struct_time(tm_year=1984, tm_mon=6, tm_mday=22, tm_hour=12, tm_min=9, tm_sec=5, tm_wday=4, tm_yday=174, tm_isdst=0)
# print(time.gmtime(456725345))
#time.struct_time(tm_year=1984, tm_mon=6, tm_mday=22, tm_hour=4, tm_min=9, tm_sec=5, tm_wday=4, tm_yday=174, tm_isdst=0)

#结构化时间转时间戳
# print(time.mktime(time.localtime()))  #1558186084.0

# print(time.strftime('%Y-----%m',time.localtime()))  #2019-----05

# print(time.strptime('2017-03-01','%Y-%m-%d'))
#time.struct_time(tm_year=2017, tm_mon=3, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=60, tm_isdst=-1)

# time.sleep(3)

# 结构化时间转换成%a %b %d %H %M %S %Y
# print(time.asctime(time.localtime())) #Sat May 18 21:35:32 2019
# 时间戳转换成%a %b %d %H %M %S %Y
# print(time.ctime(456725345))  #Fri Jun 22 12:09:05 1984


# print(time.strptime('1989-09-01 12:50:10','%Y-%m-%d %H:%M:%S'))
#time.struct_time(tm_year=1989, tm_mon=9, tm_mday=1, tm_hour=12, tm_min=50, tm_sec=10, tm_wday=4, tm_yday=244, tm_isdst=-1)




import datetime
# print(datetime.datetime.now())   #2019-05-18 21:52:38.435121
# print(datetime.datetime.fromtimestamp(1558187721.8939993)) #时间戳转换为datetime格式


print(datetime.datetime.now() + datetime.timedelta(days=3))
print(datetime.datetime.now() + datetime.timedelta(weeks=3))
print(datetime.datetime.now() + datetime.timedelta(hours=-3))
print(datetime.datetime.now() + datetime.timedelta(hours=3))
'''
2019-05-21 21:58:12.078189
2019-06-08 21:58:12.078276
2019-05-18 18:58:12.078308
2019-05-19 00:58:12.078336
'''
print(datetime.datetime.now().replace(year=1989,hour=12))  #1989-05-18 12:59:11.153818

格式含义备注
%a本地(locale)简化星期名称 
%A本地完整星期名称 
%b本地简化月份名称 
%B本地完整月份名称 
%c本地相应的日期和时间表示 
%d一个月中的第几天(01 - 31) 
%H一天中的第几个小时(24 小时制,00 - 23) 
%l一天中的第几个小时(12 小时制,01 - 12) 
%j一年中的第几天(001 - 366) 
%m月份(01 - 12) 
%M分钟数(00 - 59) 
%p本地 am 或者 pm 的相应符注1
%S秒(01 - 61)注2
%U一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周注3
%w一个星期中的第几天(0 - 6,0 是星期天)注3
%W和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始 
%x本地相应日期 
%X本地相应时间 
%y去掉世纪的年份(00 - 99) 
%Y完整的年份 
%z用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数) 
%Z时区的名字(如果不存在为空字符) 
%%%号本身 

注1:“%p”只有与“%I”配合使用才有效果。
注2:范围真的是 0 ~ 61(你没有看错哦^_^);60 代表闰秒,61 是基于历史原因保留。
注3:当使用 strptime() 函数时,只有当在这年中的周数和天数被确定的时候 %U 和 %W 才会被计算。

 

时间元祖(time.struct_time):
gmtime(),localtime() 和 strptime() 以时间元祖(struct_time)的形式返回。

索引值(Index)属性(Attribute) 值(Values)
0tm_year(年)(例如:2015)
1tm_mon(月)1 ~ 12
2tm_mday(日)1 ~ 31
3tm_hour(时)0 ~ 23
4tm_min(分)0 ~ 59
5tm_sec(秒)0 ~ 61(见下方注1)
6tm_wday(星期几)0 ~ 6(0 表示星期一)
7tm_yday(一年中的第几天)1 ~ 366
8tm_isdst(是否为夏令时)0, 1, -1(-1 代表夏令时)


注1:范围真的是 0 ~ 61(你没有看错哦^_^);60 代表闰秒,61 是基于历史原因保留。

02 random

import random
# print(random.random()) #(0,1)----float 大于0且小于1之间的小数
# print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数
# print(random.randrange(1,3)) #[1,3) 大于等于1且小于3之间的整数
# print(random.choice([1,'23',[4,5]])) #1或者23或者[4,5]
# print(random.sample([1,'a','b',3],2))  #列表中任意两个的组合

# print(random.uniform(1,3)) #大于1小于3的小数

# l=[1,2,3,4,5]
# random.shuffle(l)  #洗牌
# print(l)


# def make_code(n):
#     res=''
#     for i in range(n):
#         s1=str(random.randint(0,9))
#         s2=chr(random.randint(65,90))
#
#         res+=random.choice([s1,s2])
#
#     return res
#
# print(make_code(4))

#chr:将十进制的数字按照ASCII表转换成字母,ord是反过来
print(chr(65))
print(chr(66))
print(chr(90))

print(ord('M'))

03 os模块

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值