在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 --> 时间戳
1
2
3
4
5
6
7
8
9
|
import time #struct_time -->时间戳 s_time = time.localtime() print (time.mktime(s_time)) #时间戳 -->struct_time tp_time = time.time() print (time.localtime(tp_time)) |
1
2
3
4
5
6
7
|
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) |
1
2
3
|
timestamp - - - - > struct_time - - - - - > format string res = time.strftime( "%Y-%m-%d %X" ,time.localtime(timestamp)) print (res) |
1
2
3
4
5
|
#世间标准时间与本地时间 print (time.localtime()) print (time.gmtime()) print (time.localtime( 333 )) print (time.gmtime( 333 )) |
二、datetime
1
2
3
4
5
6
7
8
|
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
1
2
3
4
5
6
7
8
9
10
|
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 += 随机字符
1
2
3
4
5
6
7
8
9
10
|
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]
1
2
3
4
5
6
7
8
9
|
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]" % "###" ) |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import time def progress(percent): if percent > 1 : percent = 1 res = int ( 50 * percent) * "#" print ( "
[%-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) |