day21 内置模块(1)

今日内容:
    一 time与datetime模块
    二 random模块
    三 os模块
    四 sys模块
    五 suprocess模块

# time模块和datetime模块
'''
import time

# 一:时间的三种格式
# 1、时间戳:秒数=>用于时间计算
# start=time.time()
# print(start,type(start))

# 2、格式化的字符串=>用于显示给人看
# res=time.strftime("%Y-%m-%d %H:%S:%M %p")
# res=time.strftime("%Y-%m-%d %X")
# print(res,type(res))

# 3、结构化的时间=>获取时间的某一部分
# res = time.localtime()
# res1 = time.gmtime()

# print(res,type(res))
# print(res.tm_year)

# print(res)
# print(res1)

# 二:时间转换
# 2.1 时间戳---》格式化的字符串
# struct_time=time.localtime(3333.3)
# res=time.strftime("%Y:%m",struct_time)
# print(res)

# 2.2 格式化的字符串---》时间戳
# struct_time=time.strptime("2017-07-03 11:11:11","%Y-%m-%d %H:%M:%S")
# res=time.mktime(struct_time)
# print(res)


# print(time.time())                        # 时间戳
# print(time.localtime())                   # 将一个时间戳转换为当前时区的struct_time。
# print(time.gmtime())                      # UTC时区的struct_time
# print(time.mktime(time.localtime()))      # 将一个struct_time转化为时间戳。
# print(time.strftime("%Y-%m-%d %X"))       # 格式化的时间字符串   2020-07-30 14:56:20
# print(time.strptime('2020-07-30 14:56:20','%Y-%m-%d %X'))    # 把一个格式化时间字符串转化为struct_time。(strftime()的逆操作)。
# print(time.asctime())       # 把一个表示时间的元组或者struct_time表示为'Thu Jul 30 15:27:23 2020'(默认参数为time.localtime())
# print(time.ctime())         # 把时间戳格式表示为'Thu Jul 30 15:27:23 2020' (默认参数为time.time())
# time.sleep(3)               # 线程推迟指定的时间运行,单位为秒。

# 计算机认识的时间只能是'时间戳'格式,而程序员可处理的或者说人类能看懂的时间有: '格式化的时间字符串','结构化的时间' ,于是有了以下的转换关系
# 格式化的字符串时间(format string)---(strptime)--->结构化的时间---(mktime)--->时间戳(timestamp)
# 格式化的字符串时间(format string)<---(strftime)---结构化的时间<---(localtime)---时间戳(timestamp)


import datetime

# print(datetime.datetime.now())  # 返回 2020-07-30 15:32:52.197233
# print(datetime.date.fromtimestamp(time.time()))  # 时间戳直接转成日期格式 2020-07-30
# print(datetime.datetime.now())  # 2020-07-30 15:32:52.197233
# print(datetime.datetime.now() + datetime.timedelta(3))  # 当前时间+3天     2020-08-02 15:32:52.197233
# print(datetime.datetime.now() + datetime.timedelta(-3))  # 当前时间-3天    2020-07-27 15:32:52.197233
# print(datetime.datetime.now() + datetime.timedelta(hours=3))  # 当前时间+3小时  2020-07-30 18:32:52.197233
# print(datetime.datetime.now() + datetime.timedelta(minutes=30))  # 当前时间+30分   2020-07-30 16:02:52.197233
# c_time = datetime.datetime.now()         # 时间替换
# print(c_time.replace(minute=3, hour=2))  # 2020-07-30 02:03:28.398511
'''

# 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([1, '3', [4, 7]]))        # 在给定参数中随机取一个值
# print(random.sample([1, '3', [4, 7]], 2))     # 列表元素任意2个组合
# print(random.uniform(1, 3))                   # 大于1且小于3的小数
# item = [1, 2, 3, 4, 5]
# random.shuffle(item)                          # 打乱item的顺序,(洗牌)
# print(item)

# 生成随机验证码
# def make_code(n):         # n------->验证码位数
#     s = ''
#     for i in range(n):
#         s1 = str(random.randint(0, 9))
#         s2 = chr(random.randint(65, 90))
#         s += random.choice([s1, s2])
#     return s
# print(make_code(4))
'''

# os模块
'''
import os

# print(os.listdir("."))                 # ['7.30.py']  返回包含目录中文件名的列表。

# cmd = input(r"""
# Microsoft Windows [版本 10.0.19041.388]
# (c) 2020 Microsoft Corporation. 保留所有权利。
#
# %s=====> """ % os.getcwd())
# res = os.system(cmd)
# print('=' * 100)
# print(res)

# os.remove()                            # 删除一个文件
# os.rename("oldname","newname")         # 重命名文件/目录
# os.system("bash commond")              # 运行shell命令,直接显示
# print(os.environ)                      # 获取系统环境变量
# os.mkdir('dirname')                    # 生成单级目录;相当于shell中mkdir dirname

# path = r'F:\notepad\2020.7.01\day21\7.30.py'
# print(os.path.join('a', 'b', 'c', 'd.txt'))  # a\b\c\d.txt     将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
# print(os.path.dirname(path))         # F:\notepad\2020.7.01\day21    返回path的目录。
# print(os.path.basename(path))        # 7.30.py   返回path最后的文件名
# print(os.path.split(path))           # ('F:\\notepad\\2020.7.01\\day21', '7.30.py')
# print(os.path.getsize(path))         # 返回path的大小 (字节数)
# print(os.path.getatime(path))        # 返回path所指向的文件或者目录的最后存取时间
# print(os.path.getmtime(path))        # 返回path所指向的文件或者目录的最后修改时间
# print(os.path.exists(path))          # 判断文件是否存在,如果path存在,返回True;如果path不存在,返回False
# print(os.path.isabs(r"F:\notepad\2020.7.01\day21"))       # True      如果path是绝对路径,返回True
# print(os.path.isabs(r"\notepad\2020.7.01\day21"))         # True
# print(os.path.isabs(r"notepad\2020.7.01\day21"))          # False

# os路径处理
# 方式一:
# 具体应用
# import os, sys
# 
# possible_topdir = os.path.normpath(os.path.join(
#     os.path.abspath(__file__),
#     os.pardir,  # 上一级
#     os.pardir,
#     os.pardir
# ))
# sys.path.insert(0, possible_topdir)     # 在索引前插入对象,加入环境变量中
# print(sys.path)
# 
# # 方式二:
# print(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))     # F:\notepad
'''

# sys模块
'''
import sys

# print(sys.argv)           # 命令行参数List,第一个元素是程序本身路径
# print(sys.version)        # 获取Python解释程序的版本信息
# sys.exit()                # 退出程序,正常退出时exit(0)
# print(sys.path)           # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# print(sys.platform)       # 返回操作系统平台名称


# 打印动态进度条
import time


def progress(percent):
    if percent > 1:
        percent = 1
    print("\r[%-50s] %d%%" % ("#" * int(50 * percent), int(100 * percent)), end='')


total_size = 16343      # 进度总长度
recv_size = 0           # 初始为0

while recv_size < total_size:
    time.sleep(0.3)
    recv_size += 1024  # 每次下载1024
    percent = recv_size / total_size
    progress(percent)
'''

# subprocess模块
'''
import subprocess

obj1 = subprocess.Popen("dir", shell=True,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE
                        )

obj2 = subprocess.Popen("dirasdas", shell=True,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE
                        )

res1 = obj1.stdout.read()
res2 = obj2.stderr.read()
print(res1.decode('gbk'))
print('-' * 50)
print(res2.decode('gbk'))
'''

猜你喜欢

转载自www.cnblogs.com/bronya/p/13404963.html
今日推荐