使用 Python 创建 UNIX 命令行工具
2008-05-31 12:48:48 来源:WEB开发网根据我为参数构建的条件语句的结构,如果参数的数目不为 1,它将自动打开帮助菜单: if len(arguments) == 1:
values = arping(iprange=arguments)
for ip, mac in values:
print ip, mac
else:
p.print_help()
这是一种用于控制工具的工作方式的重要方法,因为您可以使用参数的个数或特定选项的名称作为控制命令行工具的流程的机制。因为我们在最初的 Hello World 示例中涉及了选项的创建,接下来通过略微更改主函数向我们的命令行工具添加几个选项:
arping CLI main 函数
def main():
"""Runs program and handles command line options"""
p = optparse.OptionParser(description='Finds MAC Address of IP address(es)',
prog='pyarping',
version='pyarping 0.1',
usage='%prog [10.0.1.1 or 10.0.1.0/24]')
p.add_option('-m', '--mac', action ='store_true', help='returns only mac address')
p.add_option('-v', '--verbose', action ='store_true', help='returns verbose output')
options, arguments = p.parse_args()
if len(arguments) == 1:
values = arping(iprange=arguments)
if options.mac:
for ip, mac in values:
print mac
elif options.verbose:
for ip, mac in values:
print "IP: %s MAC: %s " % (ip, mac)
else:
for ip, mac in values:
print ip, mac
else:
p.print_help()
更多精彩
赞助商链接