python - argparse 在代码中的位置

标签 python syntax argparse correctness pep

我目前正在 python 脚本中实现命令行参数,并希望尽可能地实现 pythonic。因此,我正在使用 argparse,并且目前正在阅读文档教程。

我不清楚什么,因为我有 def main(): def a_function(): 现在必须添加 argparse某处相关的东西,它去了哪里?有 PEP 指南吗?

我假设它位于 main() 之外,因为参数在函数和 main 中使用,但话又说回来,它没有被提及。

抱歉,我还在学习中,并且想正确地学习它。

tl;博士。我是个菜鸟,不知道在哪里放置 argparse 代码

最佳答案

没有 PEP 指南,也可能没有通用模式。我更喜欢为我的应用程序使用一个类,并将我的选项解析代码放在一个方法中。我传入参数,这允许调用者发送 sys.argv,或者传入它想要的任何内容(例如:您可以在测试时传入自定义参数列表)

class App(object):
    def __init__(self, args):
        ...
        self.args = self._parse_arguments(args)
        ...

    def _parse_arguments(args):
        parser = argparse.ArgumentParser()
        ...
        result = parser.parse_args(args)
        return result

关于python - argparse 在代码中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26096189/

相关文章:

python - 将 Excel 文件从 Python 读取到内存中并将工作表传递给 Pandas

python - 用于 ipython 的 Emacs

c# - 无法将 MyType<T> 转换为 MyType<object>

java - 优雅的分支(任何语言)

Python argparse : Make at least one argument required

python - 尝试将日期和时间记录到 sqlite3

python - 如何同时使用字典和数组的 for 循环

c++ - foo({0, 0}) : Is this using initializer lists?

python - argparse - 列表/元组的可选参数

python - 解析多个文件 argparse