由多个文件共享的Python ArgParse
我有一个主入口点类(factory),它创建不同的类:由多个文件共享的Python ArgParse,python,oop,Python,Oop,我有一个主入口点类(factory),它创建不同的类: main.py class_a.py class_b.py 通过触发此命令: $ main.py --class a --another_argument foo 我想触发class_a.py(它持有ClassA),并访问相同的argparse,而不将其传递给构造函数。这可能吗?我必须在ClassA中再次使用argparse来读取所有传入参数吗?这看起来真是个糟糕的主意!应该只有一个入口点。但是,如果您确实需要,只需添加一个common
main.py
class_a.py
class_b.py
通过触发此命令:
$ main.py --class a --another_argument foo
我想触发class_a.py(它持有
ClassA
),并访问相同的argparse
,而不将其传递给构造函数。这可能吗?我必须在ClassA
中再次使用argparse
来读取所有传入参数吗?这看起来真是个糟糕的主意!应该只有一个入口点。但是,如果您确实需要,只需添加一个common.py
(例如),并在其上放置argparse并在模块之间共享。严格来说,您不能使用完全相同的解析器,因为想必--class
选项将指示需要哪些其他选项。(或者如果没有,那么main.py
应该能够解析所有参数本身,并在实例化时将必要的值传递给ClassA
或ClassB
。@felipsmartins有一个入口点,但我希望有一个主文件来调用正确的类,例如:start.py
和argparse一起触发cloud1.py
或cloud2.py
,我希望能够在start.py
和cloud1.py
或cloud2.py
上使用相同的argparse(这意味着-直接使用或通过start.py
)