使用 Python 创建 UNIX 命令行工具
2008-05-31 12:48:48 来源:WEB开发网问题定义:我希望创建一个命令行工具,默认打印 Hello World,并提供用于打印不通人的姓名的选项。
基于上述说明,可以提供一个包含少量代码的解决方案。
Hello World 命令行接口 (CLI)
#!/usr/bin/env python
import optparse
def main():
p = optparse.OptionParser()
p.add_option('--person', '-p', default="world")
options, arguments = p.parse_args()
print 'Hello %s' % options.person
if __name__ == '__main__':
main()
如果运行此代码,预期的输出如下:Hello world
但是,我们通过少量代码所能做到的远不止于此。我们可以获得自动生成的帮助菜单:python hello_cli.py --help
Usage: hello_cli.py [options]
Options:
-h, --help show this help message and exit
-p PERSON, --person=PERSON
从帮助菜单中可以了解到,我们可以使用两种方法来更改 Hello World 的输出:python hello_cli.py -p guido
Hello guido
我们还实现了自动生成的错误处理:python hello_cli.py --name matz
Usage: hello_cli.py [options]
hello_cli.py: error: no such option: --name
如果您还没有使用过 Python 的 optparse 模块,那么您刚才可能会大吃一惊,并思忖使用 Python 可以编写的所有这些不可思议的工具。如果您刚开始接触 Python,那么您可能会惊讶于 Python 让一切变得如此简单。“XKCD”网站发表了关于“Python 是如此简单”主题的非常有趣的漫画,已包括在参考资料中。
更多精彩
赞助商链接