一 time模块
import time
# 时间分为三种方式
# 1 时间戳:从1970年至当前时间的秒数
# 作用:计算时间间隔
res = time.time()
print(res)
# 2 格式化输出时间
# 作用:主要用来展示时间
# Y-年份 m-月 d-日 H- 小时 M-分钟 S-秒 p-AM/PM
res = time.strftime('%Y-%m-%d %H:%M:%S %p')
print(res)
# 简写:用X代表时分秒
res = time.strftime('%Y-%m-%d %X')
print(res)
# 3 结构化输出时间
# 讲具体的年月日时分秒等全部输出
res = time.localtime()
print(res)
# 输入参数的时候,会打印以1970年为准所对应的时间
res = time.localtime(33333)
print(res)
# 获取当前年份
print(res.tm_year)
# 获取今年过了几天
print(res.tm_yday)
# 获取当前是本周的第几天
print(res.tm_wday)
# 三种时间格式的相互转换
# Ⅰ 时间戳----结构化时间---格式化时间
# 时间戳----结构化时间
import time
# 时间戳
time1 = time.time()
# 将时间戳转为结构化时间
res = time.localtime(time1)
print(res)
# 结构化时间----格式化时间
# 获取结构化时间
res = time.localtime()
# 讲结构化时间转为格式化时间
time1 = time.strftime('%Y-%m-%d %X',res)
print(time1)
# Ⅱ 格式化时间---结构化时间----时间戳
# 格式化时间---结构化时间
# 获取格式化时间
res = time.strftime('%Y-%m-%d %X',res)
print(res)
# 格式化时间转成结构化时间
time1 = time.strptime(res,'%Y-%m-%d %X')
print(time1)
# 结构化时间转成时间戳
# 获取结构化时间
res = time.localtime()
time1 = time.mktime(res)
print(time1)
# 了解:世界标准时间 中国本地时间
import time
print(time.gmtime())
print(time.localtime())
# 显示格式化的时间 Mon Mar 30 15:11:11 2020
print(time.asctime())
二 datetime模块
pythonimport datetime
# 格式化输出时间
print(datetime.datetime.now())
# 计算一个星期后的时间
print(datetime.datetime.now()+datetime.timedelta(weeks=1))
# 计算一天星期后的时间
print(datetime.datetime.now()+datetime.timedelta(days=1))
三 random模块
import random
# 随机获取0-1之间的浮点数
print(random.random())
# 随机获取大于等于1 小于等于6之间的整形数字
print(random.randint(1,6))
# 随机获取大于等于1 小于6之间的整形数字
print(random.randrange(1,6))
# 随机获得参数中的一个数据
print(random.choice((111,'aaa',456,[1234,'qq'])))
# 指定元素个数自由组合,随机输出,当指定元素个数为1时,与choice作用相同
print(random.sample([111, 'aaa', 'ccc','ddd'],1))
print(random.sample([1,3,5,7,89,],3))
# shuffle 打乱原列表的顺序
list1 = [1,2,3,5]
random.shuffle(list1)
print(list1)
四 os模块
import os
# 获取某一个文件夹下的所有子文件夹名称以及文件名称
print(os.listdir(r'E:\pycharm\代码\pycharm-oldboy\tank作业讲解'))
# . 代表当前文件所在的文件夹 ..代表.的上一层
print(os.listdir('..'))
# os.remove() 删除一个文件
# os.rename("oldname","newname") 重命名文件/目录
# 将字符串转化成命令在服务器上运行
os.system(r'C:\Users\GuiGui\Desktop\hello.py')
os.system('dir')
# 生成环境变量,添加环境变量,key value必须均为字符串
print(os.environ)
res = os.environ['我是新的环境变量'] =r'C:\Users\GuiGui\Desktop\hello.py'
print(os.environ)
# 获取当前文件的文件夹
print(os.path.dirname(__file__))
# 获取当前文件的文件名字
print(os.path.basename(__file__))
# 获取文件大小
res = os.path.getsize(r'E:\pycharm\代码\pycharm-oldboy\PRACTICE')
print(res)
# 判断文件是否是文件
print(os.path.isfile('整理知识'))
print(os.path.isfile('03'))
print(os.path.isfile('03-os模块.py'))
# 对文件路径进行拼接
path = os.path.join('a','b')
print(path)
# 如果路径包括根目录符号就从根目录开始拼接
path = os.path.join('a','c:\\','b')
print(path)
# 查找文件所在的文件夹推荐使用的方式
print(os.path.dirname(__file__))
# 在python3.5之后,推出了一个新的模块pathlib
from pathlib import Path
res = Path(__file__).parent.parent
print(res)
res=Path('/a/b/c') / 'd/e.txt'
print(res)
print(res.resolve())
五 小案例
# 应用:随机生成验证码
# 获取随机的26个大写英文字母,根据ASC码表
al_A = chr(random.randint(65,90))
# 获取随机的26个小写英文字母,根据ASC码表
al_a = chr(random.randint(97,122))
# 获取随机数字
num = random.randint(0,9)
# 生成随机验证码
res = ''
for i in range(6):
res += random.choice([al_a,al_A,str(num)])
print(res)
# 封装成函数的格式
def func(n=6):
# 获取随机的26个大写英文字母,根据ASC码表
al_A = chr(random.randint(65,90))
# 获取随机的26个小写英文字母,根据ASC码表
al_a = chr(random.randint(97,122))
# 获取随机数字
num = random.randint(0,9)
# 生成随机验证码
res = ''
for i in range(n):
res += random.choice([al_a,al_A,str(num)])
return res
# 复制功能---新方法
import sys
print(sys.argv)
src = sys.argv[1]
tag = sys.argv[2]
with open(src,'rb') as f,open(tag,'wb') as f1:
res = f.read()
f1.write(res)
# 下载进度条
import time
def progress(percent):
if percent > 1:
percent = 1
res = int(50 * percent) * '#'
print('\r[%-50s] %d%%' % (res, int(100 * percent)), end='')
recv_size=0
total_size=1025011
while recv_size < total_size:
time.sleep(0.01) # 下载了1024个字节的数据
recv_size+=1024 # recv_size=2048
# 打印进度条
# print(recv_size)
percent = recv_size / total_size # 1024 / 333333
progress(percent)
六 更多模块方法请参照
https://www.cnblogs.com/linhaifeng/articles/6384466.html