Python命令行工具开发之一: 使用基本标准输入编写命令行工具

来源:互联网 发布:大连知行中学怎么样 编辑:程序博客网 时间:2024/06/03 19:00

简介

在实际应用中,经常需要编写自己的命令行工具,来实现一些系统管理的功能。在本系列文章中,将依次介绍通过sys.argv、optparse、argparse模块来创建Python命令行工具,介绍如何整合Shell命令到Python命令行工具中。

使用基本标准输入

创建命令行工具最简单,应该是使用sys模块的sys.argv处理命令行参数。
以一个简单应用为例:
#!/usr/bin/python# -*- coding: UTF-8 -*-'''Created on May 16, 2017@author: bob'''import sysif __name__ == '__main__':    #Python indexes start at Zero, so let's not count the command itself    #which is sys.argv[0]    print sys.argv    num_arguments = len(sys.argv) - 1        #if there are no arguments to the command, send a message to standard error    if num_arguments == 0:        print "Hi, type in an option silly"    else:        print "You typed in", num_arguments, "arguments"
命令行参数以列表的形式传递给Python脚本。argv[0]存储的脚本名(脚本名是否提供全路径信息与平台有关),输入参数的索引从1开始,即输入参数存储在sys.argv[1:]里。
在Ubuntu 16.04系统上的运行结果如下:
bob@ubuntu:~$ ./sysargv.py['./sysargv.py'] Hi, type in an option sillybob@ubuntu:~$ ./sysargv.py hello world['./sysargv.py', 'hello', 'world'] You typed in 2 arguments
在Win 7系统上的运行结果如下:
D:\github\pystudy\PythonStudy\clis>sysargv.py['D:\\github\\pystudy\\PythonStudy\\clis\\sysargv.py']Hi, type in an option sillyD:\github\pystudy\PythonStudy\clis>sysargv.py hello world['D:\\github\\pystudy\\PythonStudy\\clis\\sysargv.py', 'hello', 'world']You typed in 2 arguments

总结

使用sys.argv可以非常快速的创建命令行工具,但由于其缺少命令选项解析的功能,因此实际使用中,很少会使用此工具,仅用于创建简单的命令行工具。
原创粉丝点击