doing实现分层命令行
项目描述
doing
Python中的分层命令行。
doing 允许在Python程序中简单地创建分层命令行。
最初设计是为了创建小型Python工具,以取代系统维护中的bash脚本,因此该库假设所有未以下划线开头的包和模块要么是命令,要么是子命令的容器。
内容
[目录]
这是你做的
如果将doing发行版解压缩到目录中,你将在名为Python可执行包中的示例命令行程序sample中找到它。
这是sample/__main__.py的源代码
#!/usr/bin/env python3 import doing import sample if __name__ == '__main__': doing.do_main(sample)
这是doing能够实现的
$ python -m sample sample v1.0.0rc1 a sample hierarchical command line created with the doing package sample greet ... greet in several languages sample version display the version
发出子命令
$ python -m sample version version 1.0.0rc1
作为子子命令的子命令
$ python -m sample greet sample.greet greet in several languages sample greet english greet in English sample greet spanish greet in Spanish
最后
$ python -m sample greet english Hello! $ python -m sample greet spanish Hola!
添加一个名为do的可执行脚本,内容类似于__main__.py,将允许你做
$ ./do greet english Hello! $ ./do greet spanish Hola!
实现doing命令行
doing假设所有包和模块都是潜在命令或子命令。命令的描述来自模块的文档注释(在mymodule.py或mypackage/__init__.py中)。
要启用顶级包的执行功能,可以提供一个__main__.py文件或者一个do(或其他脚本名称),具体可参考引言中的描述。
对于执行某些操作的模块和包,在模块或包的__init__.py文件中编写一个def do():方法。
这是sample/greet/spanish.py的内容
""" greet in Spanish """ def do(): print('Hola!')
如果执行发现存在实现子命令的模块,它会在命令帮助信息中用省略号表示。
sample greet ... greet in several languages
结束
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码分发
doing-1.0.0.zip (11.6 kB 查看哈希值)
doing-1.0.0.tar.gz (5.7 kB 查看哈希值)
构建分发
doing-1.0.0-py2.py3-none-any.whl (7.0 kB 查看哈希值)
关闭
doing-1.0.0.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cf797a73980ebd1a0f865cfe77cad8655a059ecc0901d6ef53b7b58e295bc465 |
|
MD5 | 329d29006af6ca65ad4dc5a0a482db5a |
|
BLAKE2b-256 | f48e658d3ca2da179316bf8d600d483286e63bad0ba292d79109cd64b71135f9 |
关闭
doing-1.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9345bd365f9069575b32c652a105f02c38f7b9915e897815e027deff0d6492b9 |
|
MD5 | 92009603b6bb8673df86303303dc1baf |
|
BLAKE2b-256 | d115b6e479dcce6f7c085cf6edc27b711877eb01deb04f5cd195e514c91410a4 |
关闭
doing-1.0.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7b481e88ffe921110f1640f69c0a6b3a7559c5076c440d62281d84913b188fcc |
|
MD5 | 02b4acc169735902b5cad256da345353 |
|
BLAKE2b-256 | 6f7ae6ed64e4241281ac700eae3351f9095a59b7e9c1c24773921a8746b720e7 |