层次清晰的目录结构:
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

最新文章

  1. SAX与DOM
  2. JSON相关基础知识
  3. javascript基础知识-函数
  4. wk_01
  5. extjs在窗体中添加搜索框
  6. 转TerreyLee AJAX入门系列2——ScriptManager的理解总结
  7. Spring 整合 Tibco EMS
  8. jdom dom4j解析xml不对dtd doctype进行验证(转)
  9. VMware Workstation 12 Player之安装林耐斯-Linux Deepin -系统
  10. Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析
  11. [LeetCode] Design Circular Deque 设计环形双向队列
  12. week3
  13. Vasya and a Tree CodeForces - 1076E(线段树+dfs)
  14. Morris图表使用小记
  15. 超详细Redis数据库入门教程
  16. sublime自动对齐Alignment插件快捷键
  17. 【转载】 java利用snmp4j包来读取snmp协议数据(Manager端)
  18. Phantomjs 生成多页PDF
  19. 新买的mac笔记本,发现vi编辑器没有颜色的解决方案
  20. Java 如何实现线程间通信

热门文章

  1. Knockout Mvc Compoment FrameSet
  2. 2.Maven 使用
  3. macos系统下共语言gopath变量的设置
  4. Opencv4android的Android Studio项目配置及实例下载
  5. HashMap源码详解(JDK7版本)
  6. 监听器的小示例:利用HttpSessionListener和HttpServletContextListener实现定时销毁HttpSession
  7. 使用 Http 的 Post 方式与网络交互通信
  8. spring_boot攻略1.1-hello SpringBoot
  9. Notepad++ 7.3.2 Download 64-bit x64 / 32-bit x86
  10. IO流输入 输出流 字符字节流