开发者社区 问答 正文

Python:这类文件的正确说法是什么?

下面是我的应用程序结构的一小部分:

/project
    /core
        /foo
        /bar
    /cli                   <---- 
        - clean_up.py
        - foo_service.py
        - bar_rest_api_service.py       

我有近20个脚本需要作为服务、cronjobs或手动执行。所有这些脚本目前都位于/project/cli中,因为它们是在命令行接口上执行的,但是我认为定义是不正确的。 每个脚本从/project/core中导入模块,但不导入任何模块。目的:对高层的可执行文件有一个清晰的概述。 其他我想起来的名字:/bin, /exe -都是错误的,但我正在寻找类似的东西。 我不是在寻找任何基于观点的东西,我是在寻找用于这类脚本的通用术语。 任何想法?如果可能,请说出一个来源(例如PEP)。 提前谢谢! 问题来源StackOverflow 地址:/questions/59379334/python-whats-the-right-word-for-these-type-of-files

展开
收起
kun坤 2019-12-30 09:32:51 415 分享 版权
阿里云 AI 助理回答

在Python项目结构中,对于这类可执行脚本或命令行工具,一个常见的、遵循社区惯例的目录名称是scripts。这个目录专门用来存放独立运行的脚本,它们可能作为服务、cronjobs或者直接从命令行调用。这样的命名既清晰地表达了这些文件的用途,也符合开发者的预期。

虽然没有特定的PEP直接规定必须使用scripts目录,但根据PEP 8(Python的编码风格指南)的精神,选择有意义且简洁的目录名是很重要的。在实际项目和开源库中,scripts是一个广泛接受且易于理解的约定。

例如,Django等知名项目也会采用类似结构来组织其脚本。此外,当你将项目打包发布时,这些脚本可以通过设置entry_points在安装后直接作为命令行工具可用,进一步强化了它们作为独立可执行组件的角色。

因此,你可以考虑将你的脚本移动到如下结构中:

/project /core /foo /bar /scripts # 将cli重命名为scripts /script1.py /script2.py ...

这样做的好处是,其他开发者能够快速识别出这些脚本的作用,并且符合Python项目的常见布局习惯。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: