# 系统常用模块
# 1.os模块 - 用来提供文件和文件夹相关操作的模块
# 1)os.getcwd - 获取当前目录
import os
print(os.getcwd()+'\lx.py')
# 2)os.listdir(文件夹路径) - 获取指定文件夹下所有的文件和文件夹的名字(获取指定文件夹下所有的内容)
# 练习:读取files文件夹中所有的文件内容
# print(os.listdir(r'..\basis'))
# for txt in os.listdir('..\\basis'):
# if txt[txt.find('.'):]=='txt':
# result=open('..\\basis').read()
# print(result) ---获取.txt文件内容
# 3)创建文件夹 - mkdir,makedirs
# os.mkdir('..\\basis\\a')
# os.makedirs()
# 4)os.path.basename(文件路径) - 返回文件名
result=os.path.basename('..\\basis\stu.txt')
print(result)
# 5)os.path.exists(文件\文件夹路径)- 判断文件或者文件夹是否存在
result=os.path.exists('..\\basis\stu.txt')
print(result)
# 6)os.path.splitext(文件路径) - 文件名和后缀分离
print(os.path.splitext('..\\basis\stu.txt'))
# 获取时间操作和文件大小操作自行去了解
# 数学模块和随机模块
# 1.数学模块
import math #这里面所有的工具都是针对普通数字的
import cmath #这里面所有的工具都是针对复数的
# python中和数学相关的类型有4种:int、float、bool、complex、
# ai+b - 复数,i叫虚数单位,i**2==-1
# 注意:python中的复数,j是虚数单位
x=2j+3
y=3j-4
print(x+y)
print(x*y)
# math 模块
# 1) 小数转整数
# math.celi(数字) - 向大取整
# math.floor(数字) - 向小取整
# round(数字) - 四舍五入
print(math.ceil(1.9))
print(math.ceil(1.1))
print(math.floor(1.9))
print(math.floor(1.1))
print(round(1.9))
print(round(1.1))
print(math.degrees(3.1223223))
# 2)求绝对值
# math.abs(数字)
# math.fabs(数字)
print(abs(-30.56))
print(math.fabs(-30.56))
# 2.随机模块
import random
# 1)产生随机整数.random.randint(a,b) - 产生a到b的随机整数,[a,b]
print(random.randint(1,2))
# 2)产生随机小数:random.random() - 产生0到1的随机小数
print(random.random())
# 产生0~100的随机小数
print(random.random()*100)
print(random.random()*50+50)
# 产生M~N的随机小数:random.random()*(N-M)+M
# 3)在指定的等差数列中随机获取一个数:random.randrange(起点,终点,步长) - [起点,终点)
# 产生0~100的随机偶数
print(random.randrange(0,101,2))
# 4)洗牌(随机打乱列表中元素的顺序)
nums=[10,20,30,40,50,60]
random.shuffle(nums)
print(nums)
# 5)抽牌
# random.choice(序列) - 随机获取一个元素
# random.choices(序列,k=数量) - 随机多个元素(放回)
# random.choices(序列, k=数量,cum_weights=权重值) - 随机多个元素(放回)
# random.sample(序列,k=数量) - 随机多个元素(无放回)
# random.choices(nums)
# result=random.choices(nums,k=3)
# print(result)
# result=random.sample(nums,k=3)
# print(result)
# 哈希摘要
# 1.哈希加密(摘要)的特点
# 1)密文不可逆
# 2)相同的数据通过相同的算法得到的密文相同
# 3)不同长度的数据通过相同的算法得到的密文长度相同
# 2.python生成哈希摘要的方法
# import hashlib
# 1)根据算法创建hash对象
# 常用hash算法:md5和shaxxx
# hash=hashlib.sha
# 2)添加生成摘要数据
# hash对象.update(二进制数据)
# python字符串和二进制的相互转换
# a.字符串转二进制
# 方法一:bytes(字符串,'uft-8')
# 方法二:字符串.encode()
# b.二进制转字符串
# 方法一:str(二进制,''utf-8)
# 方法二:二进制.decode()
# hash.update(bytes('123456',encoding='utf-8'))
# 对文本数据生成摘要
# hash.update('123456',encode())
# hash.update(open('..\\basis\stu.txt').read())
# 3)获取摘要值(获取密文)
# result=hash.hexdige()
# print(result)
# time模块
import time
# 补充:时间戳
# 时间戳指的是某一个时间到1970年1月1日0时0分0秒(格林威治时间)的时间差,单位是秒
# 1.time.time() - 获取当前时间(当前时间的时间戳)
t1=time.time()
print(t1,type(t1)) #-- '2021年12月20日'
# 2.time.localtime()
# 1)time.localtime() - 获取当前时间(返回的时候本地时间对应的结构体时间)
#2)time.localtime(时间戳) - 将时间戳转换成结构体时间
t2=time.localtime()
print(t2)
# 通过结构体时间单独获取指定信息
# tm_wday - 星期值,从0~6表示是周一~周天
print(t2.tm_year,t2.tm_mon)
t3=time.localtime(0)
print(t3)
t4=time.localtime(1639988084.9785292)
print(t4)
# 3.time.sleep(时间) - 让程序暂停/等待指定时间(单位秒)
# time.sleep(2)
# print('=========')
# 结构体时间和字符串时间的相互转换
#
#
#
# 4.time.strftime(时间格式,结果体时间) - 将结构体时间转换成指定格式的字符串时间
# print(t2)
# result=time.strftime('%Y-%m-%d %H:%M:%S %A',t2)
# print(result)
# 5.time.strptime(时间字符串,时间格式) - 将字符串时间转换成结构体时间
result=time.strftime('%p %I:%M',t2)
print(result)
result=time.strptime('2017-3-24 PM 2:30','%Y-%m-%d %p %I:%M')
print(result)
print(result.tm_wday)
# 6.time.mktime(结构体时间) - 将结构体时间转换成时间戳
print(t2)
result=time.mktime(t2)
print(result)
# datetime模块
from datetime import datetime,date,time,timedelta
# 1.创建datetime类型的数据
# 1)获取当前时间
t1=datetime.now()
print(t1)
t2=datetime.today()
print(t2,type(t1))
# 2)直接提供时间信息
# datetime(年,月,日,时=0,分=0,秒=0)
t3=datetime(2018,10,1)
print(t3,type(t3))
# 3)通过字符串时间创建时间对象
t4=datetime.strptime('2019-2-23 23:30:51','%Y-%m-%d %H:%M:%S')
print(t4,type(t4))
# 2.获取时间对象具体的时间信息
# print(t4.year)
# print(t4,hours)
# print(t4,days)
# print(t4,minutes)
# print(t4,weeks)
# print(t4,seconds)
# 3.时间的加减操作
# 时间对象 -/+ timedelta(day=?,hours=?minutes?,second=?,week=?)
result=t4+timedelta(seconds=2) #2秒后
print(result)
result=t4-timedelta(days=4) #4天后
print(result)
result=t4+timedelta(weeks=1) #一周后
print(result)
result=t4+timedelta(days=5,hours=2,minutes=30) #5天2小时30分钟后
print(result)
x # 系统常用模块# 16
最新推荐文章于 2022-03-03 22:17:33 发布