对于Python社区,我有一个关于Python脚本中的块注释的问题。我已经阅读了PEP-8,虽然许多思想和标准对于开发一个干净的模块或包是有意义的,但我没有看到太多关于短Python脚本的内容。
我的意思是,假设我决定制作一个非常快速的Python可执行脚本,作为运行模块中业务逻辑的命令行实用工具。
在这个命令行实用程序中,很大一部分只是一个具有长文档字符串的a解析器的设置,后面是脚本的一个入口点,沿途有几个助手函数。
我的创作风格是这样的:
############################################################
# Helper functions
############################################################
def helper1(arg):
pass # things happen
def helper2():
pass
...
############################################################
# Setup Argparse
############################################################
parser = argparse.ArgumentParser(description='Some description')
somedoc = """
Some long description for my first argument...
""".strip()
parser.add_argument('integers',
metavar='N',
type=int,
nargs='+',
help=somedoc)
parser.add_argument('otherargs',
metavar='N',
type=int,
nargs='+',
help='Some docstring')
...
############################################################
# Entry point
############################################################
if __name__ == '__main__':
args = parser.parse_args()
if len(args.integers) > 1:
helper1(args.integers)
...尽管PEP-8没有涵盖这一点,但我发现这往往是相当可读的(假设我的变量名要好得多),而且块注释确实有助于快速确定所有内容的位置。而且,由于这最终是与我的应用程序一起打包的可执行脚本,所以将其保存在一个文件中是有意义的,因为它实际上是一个美化的参数解析器。
有没有更多的毕达通的方法来解决这个问题?
发布于 2015-12-16 00:11:23
我想大家的共识是:不。
将模块分成一个包要好得多:
- package_name
∟ __init__.py
∟ __main__.py
∟ args.py
∟ helpers.py注意:你可能想给“帮手”一个描述性更强的名字(就像你说的)。
有些理由更倾向于这样做:
parser并使用argparse,它显然与参数解析有关;标头注释添加了什么??(我必须已经阅读了源代码:这个标题注释没有价值。)__main__.py)解决了这个问题,不要重新发明轮子。尽管如此:
将其保存在一个文件中是有意义的,因为它实际上是一个美化的参数解析器。
总是会有一个论点,要求迅速写剧本,然后把它放在门外。
如果您想要长期的、可读的和...pythonic更易于维护的东西。考虑将其放在目录/包中。
https://stackoverflow.com/questions/34259939
复制相似问题