gpt4 book ai didi

python - 如何避免Python包中的重复命名?

转载 作者:行者123 更新时间:2023-11-30 22:43:58 24 4
gpt4 key购买 nike

假设我正在构建一个模拟香蕉的 python 项目,我将如何构建它?我通常以

开头
mkdir bananas

然后我在bananas.py 中进行编码,该文件是一个文件,直到我开始添加自述文件、许可证、贡献者等,并且 python 文件只是在元文件中丢失。然后我再做同样的事情

mkdir bananas
mv *.py* bananas

为了将实际代码与元代码分开。现在我有一个双重的、重复的目录结构,

$ ls /path/to/bananas
README
LICENSE
CONTRIBUTORS
bananas/banana.py

所以这最终是

bananas/bananas/banana.py

这对我来说感觉不对。我接触最多的代码隐藏得太远了。我也讨厌像

这样的进口
from bananas.bananas import Banana

我只是想做

from bananas import Banana

有什么想法吗?我缺少什么?我引用HGP :

Repetitive paths are confusing for both your tools and your developers. Unnecessary nesting doesn’t help anybody (unless they’re nostalgic for monolithic SVN repos).

最佳答案

就我个人而言,我认为这样的结构没有任何问题,这也是我在自己的项目中所做的。根据我尝试过的一些在线指南,这似乎是推荐的方法。

例如,来自 Open Sourcing a Python Project the Right Way作者定义了一个示例项目的结构:

$ pwd
~/code/sandman
$ tree
.
|- LICENSE
|- README.md
|- TODO.md
|- docs
| |-- conf.py
| |-- generated
| |-- index.rst
| |-- installation.rst
| |-- modules.rst
| |-- quickstart.rst
| |-- sandman.rst
|- requirements.txt
|- sandman
| |-- __init__.py
| |-- exception.py
| |-- model.py
| |-- sandman.py
| |-- test
| |-- models.py
| |-- test_sandman.py
|- setup.py

因此,在这种情况下,您最终会得到类似 sandman/sandman/sandman.py 的路径。

关于python - 如何避免Python包中的重复命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41632881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com