Python中argparse的args.accumulate属性未识别问题求助
修复argparse的AttributeError: 'Namespace' object has no attribute 'accumulate'错误
你在制作YouTube命令行视频下载器时,使用argparse获取命令行参数出现了AttributeError: 'Namespace' object has no attribute 'accumulate'错误,原因是你误用了Python官方文档里的示例代码——accumulate是文档里自定义的演示方法,并不是argparse解析后返回的Namespace对象自带的属性,直接调用肯定会报错。
修复方法
直接从args对象中读取对应的参数即可,不需要额外调用不存在的accumulate方法,修正后的代码如下:
... parser = argparse.ArgumentParser(description='Download a Youtube video') parser.add_argument('video_url', type=str, help='Type a URL for a YouTube video.') parser.add_argument('save_dir', type=str, help='Type the directory you want the YouTube video to be saved to.') args = parser.parse_args() if __name__ == '__main__': video_url = args.video_url save_dir = args.save_dir print(video_url, save_dir)
另外注意你的第二个参数的help文本里有笔误(重复了"be saves"),上面的代码已经帮你修正了。
内容的提问来源于stack exchange,提问作者King Ferrum
相关产品推荐
相关产品推荐

