列表中的变量-通用用户界面sys.argv

时间:2018-06-28 23:00:22

标签: python-3.x sys

我想创建类,这对于用户界面是通用的。我希望有某种形式的列表,可以更改另一个程序,以实现用户的不同选项。

我想在列表中使用诸如self.force之类的类变量,但我不知道如何像使用变量self.force而不是list的自变量(self.option_list [0] [ 0])。

此代码将不起作用,因为我不知道如何解决此问题。它只是一种方式,我想如何解决通用接口的问题。如果您使用更好的方式来处理sys.argv,我欢迎您提出建议。

import sys

class UserInterface:
    def __init__(self):
        self.option_list = [
            #[var, usr_name, def_val, choose_val]
            [self.force, '-f', False, True]
            [self.main_path, '-m', os.getcwd(), '-NEXT_ARG']
            [self.send_to_Kindle_dir_name, '-s',
                self.main_path+os.sep+'send_to_kindle', '-NEXT_ARG']
            [self.display_info, '-p', False, True]
            [self.display_help, '--help', False, True]
            ]
        for i in self.option_list:
            i[0] = i[2]
        for i in range(len(sys.argv)):
            for j in self.option_list:
            if sys.argv[i] == j[1]:
                if j[3] == '-NEXT_ARG':
                    if len(sys.argv)>i+1:
                        j[0] = sys.argv[i+1]
                else:
                    j[0] = sys.argv[i]

0 个答案:

没有答案