(十)、python的模块和包

什么是python的包
包就是文件夹,包中还可以有包,也就是子文件夹
一个个python文件就是模块

__init__.py是每一个python包里必须存在的文件

如何创建一个包
要有一个主题,明确功能,方便使用
层次分明,调用清晰
包的导入
将python中的某个包(或模块),导入到当前的py文件中
import:import 包名
from… import …:导入其他包下的模块
什么是第三方包
其他程序员写好的功能封装成的包(模块)发布到网上,直接使用提高效率
使用pip和easy_install获取第三方包
在第三方包管理,pip使用率最高,在python3.4以上安装的时候就会自带这两种包管理工具
老版python可通过 https://pip/pypa.io/en/stable/installing/
使用方法:pip install 包名
还可以通过github.com搜索python第三方包
datetime模块
日期与实践的结合体-date and time
获取当前时间、时间间隔、将时间对象转成时间字符、将字符串转成时间类型
1.获取当前时间

from datetime import datetime
time = datetime.now()
print(time)     #2021-08-05 10:44:48.896369

2.获取时间间隔
使用方法:timeobj = timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,week=0)

from datetime import datetime
from datetime import timedelta
one_day = timedelta(days=1)  #返回时间间隔的datetime对象
yestoday = datetime.now()-one_day
tomorrow = datetime.now()+one_day
today = datetime.now()
print(today)        #2021-08-05 11:02:21.330030
print(yestoday)     #2021-08-04 11:02:21.330030
print(tomorrow)     #2021-08-06 11:02:21.330030

3.时间对象转字符串
使用strftime(’%Y-%m-%d %H:%M:%S’)转换成字符串,括号里面的格式可以自定义
%Y:对应年份
%m:月份
%d:月中的某一天
%H:一天中的第几个小时,24小时制
%I:一天中的第几个小时,12小时制
%M:当前的第几份
%S:当前分的第几秒,闰年多占2秒
%f:当前秒的第多少毫秒
%a:简化的星期,如星期三 Wed
%A:完整的星期,如星期三 Wednesday
%b:简化的月份,如二月 Feb
%B:完整的月份,如二月 February
%c:本地日期和时间,如Wed Feb 5 10:30:44 2021
%p:显示上午还是下午,AM,PM
%j:一年中的第几天
%U:一年中的星期数

from datetime import datetime
now = datetime.now()
print(now,type(now))    #2021-08-05 11:08:00.682907 <class 'datetime.datetime'>
nowstr = now.strftime('%Y-%m-%d %H:%M:%S')
print(nowstr,type(nowstr))  #2021-08-05 11:08:00 <class 'str'>

4.时间字符串转时间类型

str_time = '2021-08-05 11:08:00'
time_date = datetime.strptime(str_time,'%Y-%m-%d %H:%M:%S')
print(time_date,type(time_date))    #2021-08-05 11:08:00 <class 'datetime.datetime'>

生成时间戳

now = datetime.now()
time3 = datetime.timestamp(now)
print(time3)    #1628134959.845823

time模块
时间处理,转换时间格式
1.什么是时间戳
1920年1月1日00时00分00秒至今的总毫秒秒数
2.生成时间戳函数 time

now = datetime.now()
time3 = datetime.timestamp(now)     #转成时间戳
print(time3)    #1628134959.845823

datetime_obj = datetime.fromtimestamp(1628134959.845823)    #时间戳转换成时间对象
print(datetime_obj) #2021-08-05 11:42:39.845823

3.获取本地时间函数localtime

local_time = time.localtime()   #不传入参数时,返回当前的时间,填入时间戳,返回对应的时间
local_time1 = time.localtime(1628134055.2697449)
print(local_time)   #time.struct_time(tm_year=2021, tm_mon=8, tm_mday=5, tm_hour=11, tm_min=28, tm_sec=10, tm_wday=3, tm_yday=217, tm_isdst=0)
print(local_time1)  #time.struct_time(tm_year=2021, tm_mon=8, tm_mday=5, tm_hour=11, tm_min=27, tm_sec=35, tm_wday=3, tm_yday=217, tm_isdst=0)

4.暂停函数sleep
time.sleep(2) 时间休眠2s
5.strptime和strftime

strtime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
print(strtime,type(strtime))    #2021-08-05 11:39:41 <class 'str'>

times = '2021-08-05 11:36:58'
sttime = time.strptime(times,'%Y-%m-%d %H:%M:%S')
print(sttime,type(sttime))      #time.struct_time(tm_year=2021, tm_mon=8, tm_mday=5, tm_hour=11, tm_min=36, tm_sec=58, tm_wday=3, tm_yday=217, tm_isdst=-1) <class 'time.struct_time'>

os包
getcwd:返回当前的路径
listdir:返回指定路径下所有的文件和文件夹
makedirs:创建多级文件夹
removedirs:删除多级文件夹
rename:给文件或文件夹改名
rmdir:只能删除空文件夹

import os
path = os.getcwd()	#/Users/klook/Documents/test
print(path)
listpath = os.listdir('/Users/klook/Documents/test')
print(listpath)
os.makedirs(path+'/test2/test1')
os.removedirs(path+'/test2/test1')
os.rename('functions.py','function.py')

os.makedirs(path+'/xixi')
os.rmdir(path+'/xixi')
os.rmdir('report')  #OSError: [Errno 66] Directory not empty: 'report'

os.path模块
exiss:文件或路径是否存在
isdir:是否是路径
isabs:是否是绝对路径
isfile:是否是文件
join:路径字符串合并
split:以最后一层路径为基准切割

if os.path.exists(path+'/test2/test1'):
    os.removedirs(path+'/test2/test1')

if not os.path.exists(path+'/test2/test1'):
    print('文件不存在')

if os.path.exists(path+'/xixi'):
    os.rmdir(path+'/xixi')

print(os.path.isdir(path))      #True

print(os.path.isabs(path))      #True

print(os.path.isfile(path))     #False

new_path = os.path.join(path,'testtest','baozi.py')
print(new_path)        #/Users/klook/Documents/test/testtest/baozi.py

date_path = os.path.split(new_path)
print(date_path)        #('/Users/klook/Documents/test/testtest', 'baozi.py')
print(date_path[0])     #/Users/klook/Documents/test/testtest

sys模块
modules:py启动时加载的模块
path:返回当前py的环境路径
exit:退出程序,基本代码执行完后会自动退出程序
getdefaultencoding:获取系统编码
platform:获取当前系统平台
version:获取python版本
argv:程序外部获取参数

import sys
modules = sys.modules
print(modules)      #{'sys': <module 'sys' (built-in)>, 'builtins': <module 'builtins' (built-in)>.........}

print(sys.path)     #['/Users/klook/Documents/test', '/Users/klook/Documents/test', ........]

print(sys.getdefaultencoding()) #utf-8

print(sys.platform) #darwin

print(sys.version)  #3.9.6 (default, Jun 29 2021, 05:25:02)  [Clang 12.0.5 (clang-1205.0.22.9)]
command = sys.argv[1]
if command == 'modules':
    print(sys.modules)
elif command == 'path':
    print(sys.path)
elif command == 'platform':
    print(sys.platform)
elif command == 'version':
    print(sys.version)
else:
    print('not command')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值