python软件开发目录规范

摘要:
打印(“软件开发目录规范”)“”。首先,创建一个新项目。最后,在顶级根目录下创建一个新项目,即直接在磁盘D中创建文件夹或在磁盘F中创建新文件夹。文件夹的名称就是项目的名称。项目的所有文件都放在文件夹下。例如,创建一个ATM购物车项目。然后该文件夹可以被称为ATM2,在ATM一级菜单下创建六个基本子文件夹,它们是:bin:整个项目的启动文件放在该文件夹中。开始。py启动文件
print('软件开发目录规范')
'''
1,首先,新建一个项目,这个项目最后新建在顶头根目录下面,
也就是直接在D盘中新建或者F盘中新建一个文件夹,这个文件夹的名字
为该项目的名称,该项目的所有文件都放在这个文件夹下面
例如新建一个ATM 购物车的项目,那么这个文件夹就可以叫做ATM

2,在ATM一级菜单下面建立基本的6个子文件夹,分别是:
bin:整个项目的启动文件放置在这个文件夹中
start.py 启动文件
conf:整个项目的配置文件放置在这个文件夹
setting.py
core:整个项目的核心文件
src.py
db:datebase 存放一些数据库相关的文件
db.txt
lib:项目的第三方包,共享的一些库
common.py
log;日志
access.log
read_me.txt
这个时6个文件夹,再来一个文本文件read_me 也放在一级菜单
用来记录一些项目的重要提示信息给使用者

在软件的开发过程中,很多路径不能直接写死了,不然的话,如果使用者将我们整个源代码
拷贝到另一个路径中 和我们的路径不一样的时候,系统就会报错
所以到写活,不要让使用者自己去调

import os
# print(os.path.dirname(路径1))###拿到当前路径1 的上一层路径
# print(os.path.abspath(__file__))####拿到当前文件的绝对路径
##上面两个搭配起来使用
# print(os.path.dirname(os.path.abspath(__file__)))##拿到当前文件路径的上一级
# print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))###拿到当前文件路径上一级的上一级
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
####这样就把整个项目的根目录添加到系统环境变量中去了,以后导入文件就可以都在这个根目录的基础下导就可以了
利用点点的方式
from ATM.core import src
from core import src

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
现在可以利用
NOW_PATH =os.path.join(BASE_DIR,'bin','start.py')
可以将上面的三个文件名称和路径拼凑出新的文件路径

'''

免责声明:文章转载自《python软件开发目录规范》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇netstat命令使用方法UnityScript基础下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

批处理脚本

常用dos命令 批处理复制文件(文件夹) 1.复制C:ae.txt 文本文件到d:文件夹下面【复制完的目录结构应该为d:e.txt】xcopy /y c:ae.txt d: >nul2.复制C:a文件夹及其内所有东西(包括隐藏,系统文件)到D:文件夹下面【 a文件夹也要复制过去,也就是说,复制之后,a文件夹应该在b文件夹下】xcopy /y /e...

向 Git 服务器添加 SSH 公钥

在网上很少找到文章有提到如何将自己的 Git 远程仓库配置成可以通过 SSH 公钥方式认证的,而几乎清一色都是告诉你怎么通过 web 界面向 GitHub 添加 SSH 公钥。LZ 在网上查找了一番,终于找到了办法。 对于不想看 LZ 下面罗嗦了一大堆的园友,LZ 先把结论放在这里,直接拿去用就是了。 把本地用户的 ~/.ssh/id_rsa.pub 的内...

CFileFind类的详解以及应用实例

CFileFind类在afx.h头文件中声明。功能:执行本地文件的查找,支持通配符。类的成员函数:1、查找操作类: 1 //搜索目录下指定的文件,成功返回非0。第二个参数不必理会2 virtual BOOL FindFile(LPCTSTR pstrName = NULL,DWORD dwUnused = 0); 3 virtual BOOL F...

gcc 编译器参数

一、GCC编译过程 参考:http://hi.baidu.com/zengzhaonong/item/c00e079f500adccab625314f-------------------------------------    Pre-Processing   cpp        预处理    Compiling        ccl       ...

mysql三种备份方式

一、备份的目的 做灾难恢复:对损坏的数据进行恢复和还原 需求改变:因需求改变而需要把数据还原到改变以前 测试:测试新功能是否可用 二、备份需要考虑的问题 可以容忍丢失多长时间的数据; 恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务; 恢复的对象,是整个库,多个表,还是单个库,单个表。 三、备份的类型 1、根据是否需要数据库离线 冷备(co...

4通用Makefile编写

a.c #include<stdio.h>#include "a.h" intmain() { printf("hello world "); printf("A= %d ",A); test_fun(); return 0; } a.h #define A 1 b.c #include <st...