x # 系统常用模块# 16

# 系统常用模块
# 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值