用python写一个脚本。如果想为用户提供参数输入的功能,类似于“-n=...”、“-f=...”,可以使用sys模块获取参数,正则表达式模块re解析规则。获取参数importsysprint(type(sys.argv),len(sys.argv),sys.argv)foriinrange(len(sys.argv)):ifi>0:param_str=sys.argv[i]print(param_str)sys.argv返回一个列表,可以调用len()得到它的长度,内容是要执行的命令字符串,中间用空格隔开。sys.argv[0]是当前正在执行的程序的绝对路径,所以如果后面跟着2个参数,注意总长度为3,那么参数串的遍历从位置1开始。可以这样处理re模块,用等号“=”分隔字符串。我习惯于创建一个字典来保存。字典的键是模式,值是参数值。假设输入参数“-n=name-r=10”,执行如下代码:importsysimportrerule_dict={}foriinrange(len(sys.argv)):ifi>0:params=re.split('[=]',sys.argv[i])rule_dict[params[0]]=params[1]print(rule_dict)输出:{'-n':'name','-r':'10'}then然后就可以遍历字典,根据获取到的模式和参数值进行相应的处理。最后处理使用tryexcept。执行try中的处理函数,除了处理异常,最后执行收尾工作。类似于下面的写法。try:Monitor=monitorManage()ifnotxxx:record(set_time_loop)else:passexceptKeyboardInterrupt:print("detectkeyinterrupt,scriptstopped.")finally:Monitor.stop()Monitor.save()except捕获键盘中断异常,即用户按CTRL+C结束脚本,最后进行停止和保存的收尾工作。
