在真正项目中,一般使用pycharm或vscode开发。那有的小伙伴就问了,项目文件目录有没有一个标准的结构?
应该没有唯一的统一标准,但python社区大佬kenneth reitz在2013年提出一个python项目目录结构,推荐你日后项目中参考。
python项目推荐结构
kenneth推荐目录结构,如下所示:
samplemod-master├── license├── manifest.in├── makefile├── readme.rst├── docs│ ├── makefile│ ├── conf.py│ ├── index.rst│ └── make.bat├── requirements.txt├── sample│ ├── __init__.py│ ├── core.py│ └── helpers.py├── setup.py└── tests ├── __init__.py ├── context.py ├── test_advanced.py └── test_basic.py一共3个文件夹,17个文件。 先来看看第一个文件夹docs,它是项目相关文档,包括依赖包安装的makefile和make.bat,项目配置conf.py,项目介绍文档index.rst,是比readme.rst更细化的一个文档,readme.rst更像一个项目总览。
第二个文件夹sample,在python中一般叫做包(package),它是项目核心代码,一般会有多个这种包,__init__.py是python包包括的文件。core.py和helpers.py是sample包里两个核心模块。
第三个包tests,是对应于sample包的单元测试包,里面的模块名称一般以test开头,测试sample里的每个模块。
setup.py是做什么的?
有了上面三个最主要的包外,文件最重要的有setup.py,这个文件是做什么的?
简单来说,setup.py是和打包相关的配置模块,一般结合setuptools。
有了setup.py,我们就可以安装包到本地全局环境,或者上传到pypi,这样全世界开发者都有机会搜索到你的包,并使用pip安装上你的包。
里面代码相对比较标准和固定,比如在这个项目里代码如下:
from setuptools import setup, find_packageswith open('readme.rst') as f: readme = f.read()with open('license') as f: license = f.read()setup( name='sample', version='0.1.0', description='sample package for python-guide.org', long_description=readme, author='kenneth reitz', author_email='me@kennethreitz.com', url='https://github.com/kennethreitz/samplemod', license=license, packages=find_packages(exclude=('tests', 'docs'))) 看到这里面用到readme.rst和license文件,并且指定打哪些包分发出去。
AI芯片设计商地平线完成10亿美元融资
谷歌健身追踪应用的新用户界面
Wi-Fi无线信号的“频段”和“信道”有什么区别
长安汽车发布国内首个量产L3级有条件自动驾驶系统 最高可实时获得8公里范围内的道路信息
医疗设备电磁兼容EMC的测试
详解Python项目推荐结构
水库大坝安全监测
设计模式结构性:代理模式
坤坤智能锁为您讲解全自动智能锁
短期之内纯电动汽车会早于燃料电池率先产业化和普及
中国移动将在2021年基本实现全国市县乡镇等5G覆盖
emc设计如何可以有效避免干扰
SCL语言的Case语句如何使用以及实例
固液混合铝电解电容的特点是什么,它有哪些优势
LED 体三维显示系统的原理及特点与其设计方案
反无人机大作战:国外反无人机系统发展现状
深入了解阿里-工业大脑开放平台在2019年的“风向”
RISC-V指令集会促进未来芯片架构的发展
幸福的温度,日本美学里的人间风景
智能球的应用优势及安装注意事项