如何重构使用argparse在另一个Python脚本中可调用的脚本?
我有一个脚本找到测试名称,并在我们公司广泛使用.它在命令行上运行,如下所示:
在脚本内部相当于:
(不确定所有这些论点的作用,我个人只使用前两个).然后,这些行由使用这些参数的代码继续. 我想重构这个脚本,以便我可以将其作为模块导入,但也保留其命令行功能 – 因为很多人使用这个脚本,并且在我们的一些csh脚本中也调用它. 到目前为止我已经重构了它,就像这样:
这仍然可以从命令行运行.但我不知道如何在我的父脚本中将相关开关的参数传递给它. 如何进一步重构,然后在父脚本中调用它? 我还宁愿不使用docopts,我读过的是新的argparse,除非必要 – 即不能用argparse完成,因为它没有在公司范围内安装,这可能是一个艰巨的过程. 最佳答案
您不应该只将所有代码直接移动到函数中;这根本没有用.
你应该做的是移动需要运行函数的代码. (因为它是外部接口,所以它不应该以_开头.)只需要从命令行运行的代码 – 即解析器的东西 – 应该保留在__name__ ==’__ main__’块中,它应该通过其结果为main(). 所以:
(而docopt并不是新的东西;它是一个有些人喜欢的外部库.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |