我有一个python类和一个main函数,所以我可以从命令行执行它。我的init函数处理我提供的参数:
import argparse
class Tester:
def __init__(self):
self.args_parser = argparse.ArgumentParser(description='Test')
self.args = self.__parse_parameters()
...
if __name__ == "__main__":
tester = Tester()
这样,当我从命令行执行上述文件时,例如:
#python teser.py --test eating --lowcarb
我可以提供参数,它们最终会被传递给__parse_parameters函数。
我的问题是,如果我决定从python代码中使用这个类,我如何将这些参数传递给类呢?
2条答案
按热度按时间tf7tbtn21#
你是说这个吗?
另一种选择(取决于您的意思)是将
ArgumentParser
移出类:这样就可以传递任何参数:
jhdbpxl92#
请看official tutorial中的示例:
您可以使用
add_argument
专门指示参数,然后使用args.<argument-name>
将其传递给类。就我个人而言,我会在main中解析函数中的参数,并将参数传递给类,所以它看起来像这样: