是否有使用Python的模块的最佳实践或样式准则?编写argparse解析器的最佳实践
我定期与一起工作,并且它很快占用相当数量的行来处理所有的配置。对于几乎所有我发现,坚持接近PEP 8结果干净,可读的代码,但不是在这里。最终的结果总是很难看的代码块。
痛苦读的是不是Python的:
那么,有没有PEP或者提供如何更好地格式化这个代码的指导方针一些其他的资源?
丑陋的样品(以下大多PEP 8):
parser = argparse.ArgumentParser(description='A nontrivial modular command')
subparsers = parser.add_subparsers(help='sub-command help')
parser_load = subparsers.add_parser('load', help='Load something somewhere')
parser_load.add_argument('--config',
help='Path to configuration file for special settings')
parser_load.add_argument('--dir', default=os.getcwd(),
help='The directory to load')
parser_load.add_argument('book', help='The book to load into this big thing')
parser_load.add_argument('chapter', nargs='?', default='',
help='Optionally specify a chapter')
parser_load.add_argument('verse', nargs='*',
help='Optionally pick as many verses as you want to'
' load')
parser_load.set_defaults(command='load')
parser_write = subparsers.add_parser(
'write', help='Execute commands defined in a config file')
parser_write.add_argument('config', help='The path to the config file')
parser_write.set_defaults(command='write')
parser_save = subparsers.add_parser(
'save',
help='Save this big thing for use somewhere later')
parser_save.add_argument('-n', '--name', default=None,
help='The name of the component to save')
parser_save.add_argument('path', help="The way out of Plato's cave")
parser_save.set_defaults(command='save')
...
args = parser.parse_args()
查看'click':http://click.pocoo.org/5/,通过装饰器更好的参数 – economy
除了不一致的地方,你断线我没有看到任何问题:你出现只有在需要符合80个字符的地方才会突破线条,而不是它可以提高可读性。我不相信这不是题外话:基于意见,因为它会根据您的编码标准而有所不同。 – TemporalWolf
@TemporalWolf我可以看到,这就是为什么我问是否存在标准,而不仅仅是关于如何格式化代码的建议 – jpyams