获取当前时间,返回的是时间戳
t1 = time.time() print(t1) # 1608945666.0906377 print(t1, type(t1)) # 1608945740.9762201 <class 'float'>
localtime(时间戳) - 将时间戳转换成本地的结构体时间
t2 = time.localtime(0) print(t2) t4 = time.localtime(1608945666.0906377) print(t4) print(f'{t4.tm_year}-{t4.tm_mon}-{t4.tm_mday} {t4.tm_hour}:{t4.tm_min}:{t4.tm_sec}') # 2020-12-26 9:21:6
练习:自己封装一个函数,将结构体时间转换为字符串时间,格式是:‘xxx年xxx月xx日 xx:xx:xx’
def struct_convert(t0: time.struct_time, str1: str): return f'{t0.tm_year}{str1}{t0.tm_mon}{str1}{t0.tm_mday} {t0.tm_hour}:{t0.tm_min}:{t0.tm_sec}'
练习:自己封装一个函数,将时间戳转换为字符串时间,格式是:‘xxx年xxx月xx日 xx:xx:xx’
def time_convert(f: float, str1: str): t5 = time.localtime(f) return f'{t5.tm_year}{str1}{t5.tm_mon}{str1}{t5.tm_mday} {t5.tm_hour}:{t5.tm_min}:{t5.tm_sec}' print('===============================================') print(struct_convert(t2, '-')) # 2020-12-26 10:3:41 print(time_convert(1608945666.0906377, '**')) # 2020-12-26 9:21:6
strftime(时间格式字符串,结构化时间)
时间格式字符串 - 包含时间占位符的字符串
%Y - 年
%m - 月
%d - 日
%H - 时(24小时制)
%I - 时(12小时制)
%M - 分
%S - 秒
%a - 星期(英文缩写)
%A - 星期(英文全拼)
%w - 星期(用数字表示)
%b - 月份(英文缩写)
%B - 月份(英文全拼)
%p - 上午或者下午(AM/PM)
t5 = time.localtime() s_t5 = time.strftime('%Y年%m月%d日', t5) print(s_t5) # 2020年12月26日 s_t5 = time.strftime('%Y-%m-%d', t5) print(s_t5) # 2020-12-26 s_t5 = time.strftime('%p', t5) print(s_t5) # 2020-12-26 # 星期几 上午时:分 t6 = time.strftime('%a %p%H:%M', t5) t7 = time.strftime('%A %p%H:%M', t5) print(t6) # Sat AM10:44 print(t7) # Saturday AM10:45
time.sleep(2)
time - 时分秒
date - 年月日
datetime - 年月日时分秒
print(time()) t1 = date.today() print(t1, t1.year, t1.month, t1.day) # 2020-12-26 2020 12 26 t2 = datetime.now() print(t2) # 2020-12-26 11:00:30.743720 # 让时间t1加2天 print(t1 + timedelta(days=2)) # 2020-12-28
根据加密算法创建hash对象
hash = hashlib.md5() # 常见hash算法:md5、sha相关 # md5和sha1()的区别 # md5的内存用的更少,生成的摘要比较短。 """ 1)相同数据采用相同算法生成的摘要是一样的 2)不可逆 3)不同大小的数据通过相同算法产生的摘要的长度是一样的 """
添加加密对象
# hash对象.update(数据) # 数据 - 必须是bytes对象 hash.update(bytes('123456', encoding='utf-8'))
生成摘要(生成密文)
# hash对象.hexdigest() result = hash.hexdigest() # e10adc3949ba59abbe56e057f20f883e print(result) result = hash.digest() print(result)
生成图片摘要
hash = hashlib.md5() with open(r'D:\图片\背景图片\彼岸花\bianhua.jpg', 'rb') as f: hash.update(f.read()) print(hash.hexdigest()) # 9341df07e59467a6830b43f7ea1a38ee
生成文本文件的摘要
hash = hashlib.md5() with open('01 时间模块.py', 'rb') as f: b3 = f.read() hash.update(f.read()) print(hash.hexdigest())
字符串转二进制
# a.bytes(字符串, encoding='utf-8') str1 = 'hello world!' b1 = bytes(str1, encoding='utf-8') print(type(b1)) # b.字符串.encode() b2 = str1.encode() print(type(b2))
二进制转换为字符串
# str(二进制, encoding='utf-8') s1 = str(b1, encoding='utf-8') print(s1, type(s1)) s2 = str(b3, encoding='utf-8') print(s2) hash = hashlib.md5() with open(r'D:\文件\其他\人工智能.docx', 'rb') as f: b4 = f.read() hash.update(f.read()) print(hash.hexdigest()) # s2 = str(b4, encoding='utf-8') # print(s2) # b.二进制.decode() s3 = b1.decode() print(s3)
数字 - 整型、浮点型
字符串 - 字符串
布尔 - 布尔:小写的首字母变成大写
数组 - 列表
字典 - 字典
null - None
json.loads(json数据) - json数据指的是json格式的字符串(字符串去掉引号之后本身就是一个合法的json数据)
# 'abc' - 不是json格式字符串 # '"abc"' - 是json格式字符串 json.loads('123') result = json.loads('["hello", 123, false, null]') print(result, type(result)) # ['hello', 123, False, None] <class 'list'>
练习:获取所有国家的名字和对应的死亡人数,并且按照死亡人数从大到小排序
with open('data.json', encoding='utf-8') as f: result = f.read() result = json.loads(result) newslist = result['newslist'] list1 = [(x['provinceName'], x['deadCount']) for x in newslist] list1.sort(key=lambda item: item[1], reverse=True) print(list1)
int、float -> 数字
布尔 -> 布尔 ;True,False -> false
字符串 -> 字符串,引号变成双引号
列表、元组 -> 数组
字典 -> 字典
None -> null
# json.dumps(python数据) -> 将python数据转换成json格式的字符串 # 120 -> '120' # 'abc' -> '"abc"' result = json.dumps(120) print(result, type(result)) # 120 <class 'str'> result = json.dumps('abc') print(result, type(result)) # "abc" <class 'str'>
# 将数据data写进json文件中 # 序列化:把对象变成字符串(str)或字节串(bytes)串行化,腌咸菜 # 如果希望把字典或列表中的数据保存到文件中,可以使用json模块中的dump函数 with open('data','w') as file: data = json.dump(data,file) # 从文件data读取数据 # 反序列化,把字符串或者字节串还原成对象,反串行化,解冻 with open('data','r') as file: data = json.load(file) print(data)