python开发基础——day15 常用模块

一、time

主要提供了时间,日期

Python时间模块(time)_python time模块-CSDN博客

时间模块博客

#导入时间模块
import time

#格林威尔时间戳,获取1970.1.1距离现在过去了多少秒
print(time.time())

#可以用来计算机程序执行的时间长短
start=time.time()
for i in range(100):
    print(i)


#让程序休眠,里面的参数是一个数值数据
time.sleep(3)
end=time.time()
print(end-start)

#将当前的时间以结构化的方式进行展示
time.localtime()
'''
tm_year=,代表当前年份
tm_mon=,代表当前月份
tm_mday=,代表当前日期
tm_hour=,当前小时
tm_min=,当前分钟
tm_sec=,当前秒数
tm_wday=,代表当前的星期(范围从0-6)
tm_yday=,代表今年的第几天
tm_isdst=,冬令时 夏令时 
'''

#获取格式化时间
%y 两位数的年份
%Y 四位数的年份
%m 月份
%d 年月日的日
%H 时
%M 分
%S 秒
%w 周
%x 当地日期
%X 当地时间
time.strftime('%Y-%m-%d')

二、random

主要获取随机数的功能

#导入随机数模块

#在0-1之间的随机小数
import random

#在0-1之间的随机小数
print(random.random())

#在指定整数范围内的随机整数,random.randint(起点,终点) ,包含终点的值
print(random.randint(1,3))

#在指定的范围内的随机小数
print(random.uniform(1.5,4.5))
res=random.uniform(1.5,4.5)
print('%.2f'%res)

#随机在列表/元组中输出一个元素
game=('剪刀','石头','布')
print(random.choice(game))

#随机打乱列表 只能打乱列表
num=[1,2,3,4,5,6,7,8,9]
random.shuffle(num)
print(num)

#通过随机模块,可以做一些小项目-->抽奖,斗地主,验证码,猜拳,...

#生成一个四位的大写字母的验证码
def fun():
    #声明一个空的字符串,用来保存获取到的每个字母进行拼接
    msg=''
    for i in range(4):
        #65-90:大写A到Z之间的所有字母的对应的ascii码里的序号
        msg+=chr(random.randint(65,90)) #生成一个65-90的数字,并转为字符
    return msg
print(fun())

三、os

主要是运行在操作系统上的相关信息(文件)

跟当前程序所在的操作系统打交道

#导入os模块
import os

# os.system('start cmd') #打开cmd
# os.system('start calc') #打开计算器
# os.system('start osk') #打开屏幕键盘
# os.system('start mspaint') #打开计画图工具

#获取当前文件的所在的位置
print(os.getcwd())

#在当前文件夹中新建文件夹
# os.mkdir('classmate')

#删除文件夹,只能删除空白的文件夹,如果文件夹中有内容,就不能删除
# os.rmdir('classmate')

#切换位置 切换程序当前的执行位置
# os.chdir('classmate')
# print(os.getcwd())
# #删除文件
# os.remove('a.py')

#给文件重命名
# os.rename('a.py','b.py')

#判断文件或者文件夹是否存在
print(os.path.exists('os_demo.py'))
print(os.path.exists('c.txt'))

#输出当前文件夹里的所有文件名
print(os.listdir())

#将散列部分组成一个完整的路径
print(os.path.join('python_demo','day15','os模块讲解.py'))
#组成路径 并不是真实的路径 后期你们可以组成自己真实的路径

#对路径去掉文件名
print(os.path.dirname('Users\software\PycharmProjects\demo.py'))

#去掉路径获得文件名
print(os.path.basename('Users\software\PycharmProjects\demo.py'))

四、sys

sys主要用于获得python解释器的相关信息

import sys #系统模块 深入功能目前 不需要使用

#获取项目与环境位置
print(sys.path)

#获取当前文件的位置(以列表的形式输出)
print(sys.argv)

#获取python的版本信息
print(sys.version)

#获取操作系统架构信息
print(sys.platform)

五、json

'''
json模块提供了4个功能
json存储的数据都是为序列化数据

序列化(计算机底层所识别的机器码0/1)
dumps:把数据类型转换为json格式的数据
dump:把数据类型转换为json格式的数据并且存储到文件中

反序列化(我们能够看懂的数据)
loads:把json格式数据转成程序员看的懂的数据类型
load:把文件打开从json格式数据转成程序员看的懂的数据类型
'''


'''
json是一种文件的存储格式,主要作用就是在保留原来的类型的情况下,保留数据
一个数据用json保存 可以确保 存之前是什么类型的 取出来 还是什么类型
'''
import json

#普通以字符串来存储
# stu=['张三','李四','王五','老刘','麻子']
# with open('test.txt','w',encoding='utf-8') as f:
#     f.write(str(stu)) #把列表转成字符串
#
# with open('test.txt','r',encoding='utf-8') as f:
#     res=f.read()
# print(type(res)) #<class 'str'>
# print(res[1])
# print(res[2])

stu=['张三','李四','王五','老刘','麻子',1,'game']
json_data=json.dumps(stu)
print(json_data)

#读取json格式数据
data=json.loads(json_data)
print(data)
print(type(data))

#将数据写入到json文件中
with open('names.json','w',encoding='utf-8') as f:
    #每个字符的底层编码 十六进制的底层数据
    #把数据转为json格式
    #会解析成序列化 不是给我们看的 是给计算机看的
    json.dump(stu,f) #有两个参数,第一个是数据,第二个是文件操作对象名字

with open('names.json','r',encoding='utf-8') as f:
    res1=json.load(f) #参数是文件操作对象名字

print(res1)
print(type(res1)) #<class 'list'>
print(res1[1])

info={'name':'李华','age':18}
with open('mes.json','w',encoding='utf-8') as f:
    json.dump(info,f)

with open('mes.json','r',encoding='utf-8') as f:
    res2=json.load(f)

print(res2)
print(type(res2)) #<class 'dict'>
print(res2.get('name'))

六、拓展分享

MVC开发模式-->开发时的一种设计理念
    model-->模块层-->主要处理数据相关的东西(数据库,json)
    view-->视图层-->主要处理用户体验,给用户看的东西
    conttoller-->控制器层-->主要处理后台功能,实现各种个能
    
以前开发一个项目的时候并没有具体的分工,导致有的时候就很乱,出现了bug各种甩锅,所以有前辈总结了开发模式
就是在开发项目时分为m,v,c三层,每层都有自己的任务,互有联系,但互不干涉,开发人员只需要专注好自己负责的部分就好
出现了问题,也更好的找到问题所在

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值