小编som*_*oob的帖子

如何将argparse参数传递给一个类

我对编码很陌生,特别是Python.我正在尝试学习如何将我创建的argparse参数传递给类以使用正确/推荐的方式.除了学习python之外,我还试图学习如何以OOP方式做事,以便学习其他OOP类型的语言变得更容易.

所以这是我想要做的一个示例:

import argparse

class passyourcliargstome():
    def __init__(self, whatdoiputheretogetmycliargs):
        #how do I get my cli args here?
        pass
    def otherfunctionsthatdothings():
        pass

if __name__ == '__main__':
    #grab the arguments when the script is ran
    parser = argparse.ArgumentParser(
         description='Make things happen.')
    parser.add_argument('-f', '--foo', action='store_true', default=False, help='here be dragons')
    parser.add_argument('-b', '--bar', action='store_true', default=False, help='here be more dragons')

    passyourcliargstome.otherfunctionsthatdothings()
Run Code Online (Sandbox Code Playgroud)

所以,我定义的主类之外argparse参数,并想知道如何让他们内部的类.这甚至是正确的方法吗?我应该在我的班级下制作一个argparse函数吗?

提前感谢您提供任何帮助,参考等.

编辑:美国东部时间11月16日2:18

注意:由于我没有足够的代表回答我自己的问题,这是我发布正确答案的唯一办法.

好吧,我花了一些时间,但我设法把它拼凑起来.RyPeck的答案帮助我获得了我的参数(我的代码遗漏了一些东西),但后来当我试图测试代码时,我得到了未绑定的方法错误.我不知道那是什么意思.我是否提到过我的屏幕名称?

它并没有真正点击,直到我发现读这个.这是我的工作代码.如果有人有任何要补充的内容,那么直到并且包括"你仍然做错了,这样做是正确的." 我听见了.在此期间,感谢您的帮助.

import argparse

class Passyourcliargstome(object):

    def __init__(self):
        #here's how I got my args here
        self.foo …
Run Code Online (Sandbox Code Playgroud)

python oop command-line arguments argparse

17
推荐指数
3
解决办法
2万
查看次数

标签 统计

argparse ×1

arguments ×1

command-line ×1

oop ×1

python ×1