os

在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或者【45
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 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("\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)
posted @ 2020-03-30 22:20  迎着阳光  阅读(326)  评论(0编辑  收藏  举报