Day4-软件目录开发规范
2024-09-02 08:18:13
层次清晰的目录结构:
1. 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。
2. 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。
目录组织方式:
README注意事项:
1.软件定位,软件的基本功能。
2.运行代码的方法: 安装环境、启动命令等。
3.简要的使用说明。
4.代码目录结构说明,更详细点可以说明软件的基本原理。
5.常见问题说明。
关于requirements.txt和setup.py
setup.py:setup.py
来管理代码的打包、安装、部署问题,python使用setuptools来安装部署。
requirements.txt:解决依赖哪些包,使用pip install -r requirements.txt
不同目录模块间进行互相调用!
问题:如何实现执行文件foo跨目录调用main.py主程序。
即如何实现可执行文件atm.py调用core目录下的main.py和conf下的settings.py?说明:项目名Atm的首字母大写,main.py也不是主逻辑程序,它是调用core下的各个文件。
动态查找绝对路径:
import os
print(os.path.abspath(__file__))
C:\Users\HW\PycharmProjects\G3\day4\Atm\bin\atm.py
atm.py文件:
import os
import sys
#要想atm.py调用main.py,必须添加相对路径
#步骤1.先找绝对路径os.path.abspath(__file__);2.os.path.dirname()往上一级,找到bin目录下;3.再往上一级,找到Atm目录;
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR) #添加环境变量
# import conf,core 就可以导入文件了,然后core.main
from conf import settings
from core import main main.login()
main.py文件:
def login():
print("Welcome to my atm")
执行atm.py文件,执行结果:
Welcome to my atm
最新文章
- SAX与DOM
- JSON相关基础知识
- javascript基础知识-函数
- wk_01
- extjs在窗体中添加搜索框
- 转TerreyLee AJAX入门系列2——ScriptManager的理解总结
- Spring 整合 Tibco EMS
- jdom dom4j解析xml不对dtd doctype进行验证(转)
- VMware Workstation 12 Player之安装林耐斯-Linux Deepin -系统
- Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析
- [LeetCode] Design Circular Deque 设计环形双向队列
- week3
- Vasya and a Tree CodeForces - 1076E(线段树+dfs)
- Morris图表使用小记
- 超详细Redis数据库入门教程
- sublime自动对齐Alignment插件快捷键
- 【转载】 java利用snmp4j包来读取snmp协议数据(Manager端)
- Phantomjs 生成多页PDF
- 新买的mac笔记本,发现vi编辑器没有颜色的解决方案
- Java 如何实现线程间通信
热门文章
- Knockout Mvc Compoment FrameSet
- 2.Maven 使用
- macos系统下共语言gopath变量的设置
- Opencv4android的Android Studio项目配置及实例下载
- HashMap源码详解(JDK7版本)
- 监听器的小示例:利用HttpSessionListener和HttpServletContextListener实现定时销毁HttpSession
- 使用 Http 的 Post 方式与网络交互通信
- spring_boot攻略1.1-hello SpringBoot
- Notepad++ 7.3.2 Download 64-bit x64 / 32-bit x86
- IO流输入 输出流 字符字节流