文章目录
昨日内容回顾
模块的绝对导入和相对导入
绝对导入(推荐)
在pycharm环境下
以当前执行文件所在的sys.path为起始路径导入模块
若不在pycharm环境下运行 则需要将项目根目录添加至sys.path 也可以借助os模块
所有涉及模块的导入sys.path都参照执行文件为准
相对导入
只能在模块文件中使用 不能在执行文件中使用
当项目比较复杂的时候 相对导入比较容易出错
符号 | 功能 |
---|---|
. | 当前文件路径 |
双点 | 上级文件路径 |
双点/双点 | 上上级文件路径 |
包的概念
什么是包:一个含有__init__.py文件的文件夹就是包
为什么有包:为了更方便高效地挂历py(模块)文件
如何使用1.创建python package 2.内部放有多个同类型的模块 3. import python package # 导入的是包内__init__.py文件 4. 在__init__.py文件内用相对导入的方式导入包内的模块 #通过__init__.py提前准备好模块,方便执行文件导入
编程思想的转变
小白阶段>>>函数阶段>>>模块阶段
单文件>>>多文件
一切都是为了能高效便捷地进行资源管理
软件开发目录规范
文件夹 | 作用 | 文件 |
---|---|---|
bin | 储存程序启动文件 | start.py |
conf(configuration) | 储存程序配置文件 | settings.py |
core | 储存程序核心逻辑 | src.py(source) |
lib | 储存程序公共功能 | common.py |
db(database) | 储存程序数据文件 | userinfo.txt |
log | 储存程序日志文件 | log.log |
interface | 储存程序接口文件 | user.py order.py goods.py |
\ | 程序的说明介绍广告说明书 | readme.txt |
\ | 储存程序所需的第三方模块名称及版本 | requirements.txt |
常见模块
collections模块
给我们提供了更多的数据类型
namedtuple 命名元组
deque 双端队列
OrderedDict 有序字典
Counter 计数器
time模块
提供了很多时间的操作
time() 获取时间戳
localtime() 获取结构化时间
gmtime() 获取英国伦敦的结构化时间
strftime() 根据某舟格式来格式化时间
sleep() 程序在原地等待自定义的时间
时间的格式
import time
res = time.strftime('%Y-%m-%d %H:%M:%S')
print(res) # 2022-07-15 20:25:05
res = time.strftime('%Y-%m-%d %X')
print(res) # 2022-07-15 20:25:05
%Y 获取年份
%m 获取月份
%d 获取天份
%H 获取小时
%M 获取分钟
%S 获取秒数
%X 获取时分秒
py文件取名时尽量不要与内置或者第三方模块重名
今日内容详细
datetime模块
import datetime
res = datetime.datetime.today()
print(res)