果粉有福了!5分钟学会用Python统计自己最爱听的音乐(7)
2023-04-29 来源:飞速影视
命令行选项
现在,我们来看看该程序的main()方法如何处理命令行参数:
def main(): # create parser descStr = """ This program analyzes playlist files (.xml) exported from iTunes. """① parser = argparse.ArgumentParser(description=descStr) # add a mutually exclusive group of arguments② group = parser.add_mutually_exclusive_group() # add expected arguments③ group.add_argument("--common", nargs="*", dest="plFiles", required=False)④ group.add_argument("--stats", dest="plFile", required=False)⑤ group.add_argument("--dup", dest="plFileD", required=False) # parse args⑥ args = parser.parse_args() if args.plFiles: # find common tracks findCommonTracks(args.plFiles) elif args.plFile: # plot stats plotStats(args.plFile) elif args.plFileD: # find duplicate tracks findDuplicates(args.plFileD) else:⑦ print("These are not the tracks you are looking for.")
本书的大多数项目都有命令行参数。不要尝试手工分析它们并搞得一团糟,要将这个日常的任务委派给Python的argparse模块。在①行,为此创建了一个ArgumentParser对象。该程序可以做三件不同的事情,如发现播放列表之间的共同音轨,绘制统计数据,或发现播放列表中重复的曲目。但是,一个时间程序只能做其中一件事,如果用户决定同时指定两个或多个选项,我们不希望它崩溃。argparse模块为这个问题提供了一个解决方案,即相互排斥的参数分组。在②行,用parser.add_mutually_exclusive_group()方法来创建这样一个分组。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号