继承命令文件lib argparser

时间:2015-09-23 20:49:39

标签: class python-3.x

下午好 我想知道如何从使用lib argparser创建命令的文件继承命令 为了便于理解,我将举例:
文件1 :(项目的房子可能没有任何用处)


    import file2
    code here

文件2 :(包含argparser值)


    import argparse

    class file2():
        def function():
            argumentos = argparse.ArgumentParser(description = 'My Program')
            argumentos.add_argument('-command')
            argumentos_recebe = argumentos.parse_args()

我想调用文件2我使用两个命令之一调用文件 例如:
arquivo1.py -command
而不是..
arquivo2.py -command
我认为这是可能的,最喜欢使用类来了解如何!

1 个答案:

答案 0 :(得分:0)

file1导入file1.py后,您可以将其内容作为file1模块对象上的属性引用。因此,您的file1代码可能类似于:

import file2

object = file2.file2()  # create an instance of the class
object.function()       # call the function to parse the arguments

现在,由于您的file2方法没有采用function参数,因此使用您显示的self内容进行了完整的工作。您可能实际上不需要一个类(与Java不同,您不需要在Python中将所有函数打包到类中)。如果是这种情况,您可以将function移到模块的顶层,然后删除我的代码的object部分。然后只需调用file2.function(),它就会进行解析。请注意,如果您需要在return中的其余代码中访问结果,则可能需要file1来自执行解析的函数中的某些内容。