python学习之-软件开发的目录规范

Posted clyde_S

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之-软件开发的目录规范相关的知识,希望对你有一定的参考价值。

通常软件目录下有几个标准文件夹

软件主文件夹命名,通常都是大写(ATM_SHOPPING)

-------------------------------------------------------------------------

bin : 启动文件文件夹(整个软件的启动文件) 

conf : 软件配置文件(软件全局性的一些变量和参数)

core :核心逻辑

db :专门放数据相关的文件(比如账号数据等)

lib :自定义的模块

log :日志文件

Readme.txt 软件介绍的文本

---------------------------------------------------------------------------

bin :start.py  启动文件

import sys
import os

BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #就是取执行文件的绝对路径,然后获取执行文件的目录赋值给一个变量
sys.path.append(BASE_DIR)
from core import src
src.run()

PS:调用sys和os模块,os模块下有个path模块下有个dirname模块和abspath模块,用abspath获取绝对路径,dirname就是取执行文件的目录,有几层目录取几次dirname即可

PS:有一个内置的全局变量是__file__,是当前执行文件的绝对路径

PS:sys模块下有一个path模块,指的是环境变量,将变量放入环境变量即可调用所有模块

 

conf : setting.py 配置文件

import os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #动态获取路径,获取当前文件的绝对路径,然后获取执行文件的目录,有几层目录写几次
log_path=r‘%slog ransaction.log‘ %BASE_DIR #这里将日志文件的路径以动态方式放入log_path变量以供其他文件调用

 

core : src.py 核心代码 (主要的业务功能,就是一些主功能)

func_dic={
‘1‘:login,
‘2‘:register,
‘3‘:shopping,
‘4‘:transfer,
‘5‘:pay
}
def run():
while True:
print("""
0 退出
1 登录
2 注册
3 购物
4 转账
5 支付
""")

choice =input(‘请输入操作>>>: ‘).strip()
if choice == ‘0‘:break
if choice in func_dic:
func_dic[choice]()
else:
print(‘输出的指令不存在,请重新输入‘)

PS:就是一个首页的功能,软件相关功能所有的集合文件

 

db : 数据文件

 

lib  : 自定义的库

  项目中共用的功能,主功能需要调用的功能等模块

common.py

import time
from conf import settings #从conf文件夹内导入setting模块
def logger(msg):
with open(r‘%s‘ %settings.log_path, ‘at‘, encoding=‘utf-8‘) as f: #直接获取setting模块内的日志变量
f.write(‘%s %s ‘ % (time.strftime(‘%Y-%m-%d %H:%M:%S‘),msg))

log : transaction.log(这个根据软件来命名,没有固定格式)

 

小常识:

(一)

日志功能需要调用时间模块

import time 

写入时间功能:time.strftime(‘%y-%m-%d %H:%M:%S‘) #(这是固定格式)

 

(二)

项目文件夹放在顶级,建在顶级,就可以在导入模块的时候可以用tab补全,或者弹出提示

 

(三)

启动文件放在项目文件夹的根目录下,就无需处理环境变量,因为软件的根目录就是当前启动文件的文件夹(软件的环境变量都是以执行文件为准)





























以上是关于python学习之-软件开发的目录规范的主要内容,如果未能解决你的问题,请参考以下文章

python学习之第四天

Python面向对象学习之八,装饰器

python 学习之 基础篇三 流程控制

python学习之第十七天

python学习之初识python

半年时间薪资Double,我的Python学习之法——有手就行