簡體   English   中英

如何將多個函數名稱解析為 python 命令行參數?

[英]How to parse multiple function name to python command line arguments?

我在一個類中的方法很少,我想讓用戶只通過解析方法名稱來運行他們想要的方法,但是我被困在 argparser 代碼中,想在這里尋求建議

基本上我想完成類似下面的事情

python3 test.py -ip 10.10.10.100 -op method1 method2 method3 ...

在我的代碼中

class myClass(parentClass):
    def __init__(self) -> None:
        """
        Setup target system
        """
        try:
            super().__init__()

            self.parser = argparse.ArgumentParser()
            self.parser.add_argument('-ip', help='IP address of target system')
            self.parser.add_argument('-op', help='User desired options')
            self.args, unknown = self.parser.parse_known_args()
        except Exception as exp:
            print(f'Error: {exp}')
    
    def method1(self):
        pass

    def method2(self):
        pass

    def run_prog(self):
        # append user desired method into a list?
        # loop through the list and execute each method
        for i in the_list:
            fn = getattr(self, i)
            fn()

*我必須將 argparse 放入__init__以遵循我的組織標准化

在聲明-op參數解析器時添加nargs='+'選項怎么樣?

self.parser.add_argument('-op', help='User desired options', nargs='+')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM