如何从位于不同模块的两个类别中选择一个

时间:2019-10-03 19:51:27

标签: python argparse

我的PyCharm项目的模块“类”中有两个类似的类“ class1”和“ class2”。 我希望在每次使用argparse的程序启动时,将其中一个导入到不同的模块中,但是我没有做到这一点,也找不到任何示例。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作以将argparse参数用作开关:

import sys
import argparse

def get_args():
    parser = parser.ArgumentParser(description='My Args')
    parser.add_argument("-c", "--myclass", dest="myclass", choices=['class1', 'class2'], help="pick a class")
    args = parser.parse_args()
    return args

def main():
    args = get_args()
    if args.myclass == 'class1':
        from classes import class1 as c1
    elif args.myclass == 'class2':
        from classes import class2 as c2
    else:
        sys.exit("Please pick a class to import")
    # do stuff

要运行并选择class1:

python3 myfunc.py -c class1

将导入class1