用于编写优秀命令行工具的小型可组合实用程序。
optutils的Python项目详细描述
optutils
==
>用于编写优秀命令行工具的小型可组合实用程序。编写一个很棒的命令行工具需要艺术和科学。与库和
框架不同,命令行工具是程序员交互使用的。
因此,它们的输入接口必须是宽容而一致的,它们的输出必须是计算机可分析而人类可读的,它们的错误消息必须是简洁而信息丰富的。
快速失败——立即向用户反馈他们做错了什么。
2.可测试错误-提供一致的唯一退出状态代码,以确保
未来可测试性。
3。信息性错误——指向狭窄的路径。
4.独立的反馈和输出——对人类的反馈应该是标准的
错误,程序的输出应该是标准的。
5。将清晰性优先于代码——用户体验应该是最重要的,而不是程序员的体验。这些实用程序的设计并非总是为了使程序的文本更短,而是为了让用户体验更好。每个孩子都是特殊的——每个实用程序都有一点不同,一个适合所有人的解决方案往往不适合任何人。因此,实用程序应该
专用*但*可重用。
/usr/bin/env python
-*-编码:utf-8-*-
作者:tim henderson
AddioClaseBR/>< BR/>< Git Mistor > BR/> Addio'代码(“版本”)
BR/> DEF版本():<打印版本和出口''BR/>日志(“版本:”,Y.VeluthOng])BR/> sys退出(Error代码(版本)]
< BR/> @ optudils.主要(
用法:示例& lt;命令& gt;
'
示例:
$example命令什么
到程序
“
@util.command(
'用法:command[args],
'
'
>示例:
options
-h,help打印此消息
',
'h',
['help',],
)def命令(argv,util,parser,setting):
opts,args=parser(argv)
对于opt,arg-in opts:
如果选择加入('-h','--help',):
util.usage()
打印“”。连接(args)
打印“运行时使用”,设置
opts,args=parser(argv)
对于opt,arg-in opts:
如果选择加入('-h','--help',):
UIL.optIn(< -v),(版本),(BR/> BR/> BR/>设置=巫师'BR/> BR/> UTIL.Runi命令(ARGs,设置)< BR/>< Br.NAMEAY=='MyNix':
sys退出(main(sys .ARGV〔1:〕)〕BR/>‘BR/>< BR/>
==
>用于编写优秀命令行工具的小型可组合实用程序。编写一个很棒的命令行工具需要艺术和科学。与库和
框架不同,命令行工具是程序员交互使用的。
因此,它们的输入接口必须是宽容而一致的,它们的输出必须是计算机可分析而人类可读的,它们的错误消息必须是简洁而信息丰富的。
快速失败——立即向用户反馈他们做错了什么。
2.可测试错误-提供一致的唯一退出状态代码,以确保
未来可测试性。
3。信息性错误——指向狭窄的路径。
4.独立的反馈和输出——对人类的反馈应该是标准的
错误,程序的输出应该是标准的。
5。将清晰性优先于代码——用户体验应该是最重要的,而不是程序员的体验。这些实用程序的设计并非总是为了使程序的文本更短,而是为了让用户体验更好。每个孩子都是特殊的——每个实用程序都有一点不同,一个适合所有人的解决方案往往不适合任何人。因此,实用程序应该
专用*但*可重用。
/usr/bin/env python
-*-编码:utf-8-*-
作者:tim henderson
AddioClaseBR/>< BR/>< Git Mistor > BR/> Addio'代码(“版本”)
BR/> DEF版本():<打印版本和出口''BR/>日志(“版本:”,Y.VeluthOng])BR/> sys退出(Error代码(版本)]
< BR/> @ optudils.主要(
用法:示例& lt;命令& gt;
'
示例:
$example命令什么
到程序
“
@util.command(
'用法:command[args],
'
'
>示例:
options
-h,help打印此消息
',
'h',
['help',],
)def命令(argv,util,parser,setting):
opts,args=parser(argv)
对于opt,arg-in opts:
如果选择加入('-h','--help',):
util.usage()
打印“”。连接(args)
打印“运行时使用”,设置
opts,args=parser(argv)
对于opt,arg-in opts:
如果选择加入('-h','--help',):
UIL.optIn(< -v),(版本),(BR/> BR/> BR/>设置=巫师'BR/> BR/> UTIL.Runi命令(ARGs,设置)< BR/>< Br.NAMEAY=='MyNix':
sys退出(main(sys .ARGV〔1:〕)〕BR/>‘BR/>< BR/>