模块
在python中,通常有这几种方式来表示时间:
一:time
1、时间戳:从1970年到现在经过的秒数
作用:用于时间间隔的计算
2、按照某种格式显示的格式化时间
作用:用于展示时间
3、结构化的时间
作用:用于单独获取时间的某一部分
import time
print(time.time()) 时间戳
print(time.strftime("%Y-%m-%d %X)) 格式化的时间字符串
print(time.local time()) 本地时区的时间
print(time.gmtime()) 世界时间
计算机认识的时间只能是“时间戳格式”,所以要转换一下
struct_time --> 时间戳
import time #struct_time -->时间戳 s_time = time.localtime() print(time.mktime(s_time)) #时间戳 -->struct_time tp_time = time.time() print(time.localtime(tp_time))
import time # format string ---> struct_time ---> timestamp struct_time = time.strptime("1988_03_03 11:11:11","%Y-%m-%d %H:%M:%S") timestamp = time.mktime(struct_time)+7*86400 print(timestamp)
timestamp ----> struct_time -----> format string res = time.strftime("%Y-%m-%d %X",time.localtime(timestamp)) print(res)
#世间标准时间与本地时间 print(time.localtime()) print(time.gmtime()) print(time.localtime(333)) print(time.gmtime(333))
二、datetime
import datetime print(datetime.datetime.now()) print(datetime.datetime.now()+datetime.timedelta(days=-3)) #print(datetime.datetime.now()+datetime.timedelta(day=3)) print(datetime.datetime.now()+datetime.timedelta(week=1)) #当前时间加三天,或者减三天 #一周后的时间
random模块
import random
print(random.random())#大于0且小于1之间的小数 print(random.randint(1,3)) 大于等于1且小于等于3之间的整数 print(random.randrange(1,3)) 大于等于1且小于3之间的整数 print(random.choice([111,"aaa"[4,5]])) 1或者23或者【4,5】 print(random.sample([111,"aaa","ccc,"ddd],2)) 列表元素任意2个组合 print(random.uniform(1,3)) 大于1小于3的小数 item = [1,3,5,7,9] random.shuffle(item) print(item)
应用:随机验证码
import random
res = " "
for i in range(6):
从26个大写字母中随机取出一个 = chr(random.randint(65,90))
从10个数字中随机取出一个 = str(random.randint(0,9))
随机字符= random.choice([从26个大写字母中随机取出一个,从10个数字中随机取出一个])
res += 随机字符
import random def make_code(size-4): res=" “ for i in range(size): s1 = chr(random.randint(65,90)) s2 = str(random.randint(0,9)) res += random.choice([s1,s2]) return res print(make code(6))
os模块
import os
#获取某一个文件夹下所有的子文件以及子文件夹的名字
res = os.listdir(".")
print(res)
size=os.path.getsize(r"路径信息")
print(size)
import sys
sys.argv 获取解释后参数值
print(sys.argv)
src_file=input("源文件路径:").strip()
dst_file=input("目标文件路径:").strip()
src_file=sys.argv[1]
dst_file=sys.argv[2]
with open(r"%s"%src_file,"rb") as read_f,\ open(r"%s"%dst_file,"wb") as write_f: for line in read_f: write_f.write(line) python3.8 run.py src_file dst_file print("[%-50s]" %"#") print("[%-50s]" %"##") print("[%-50s]" %"###")
import time def progress(percent): if percent > 1: percent = 1 res = int(50 * percent) * "#" print("\r[%-50s] %d%%" %(res,int(100 * percent)),end=" ") rev_size=0 total_size=1025011 while recv_size < total_size: time.sleep(0.01) #下载了1024个字节的数据 recv_size+=1024 percent = recv_size / total_size progress(percent)