Переменная в списке - универсальный пользовательский интерфейс, sys.argv - PullRequest
0 голосов
/ 29 июня 2018

Я хотел бы сделать класс, который будет универсальным для пользовательского интерфейса. Я хотел бы, чтобы у меня была какая-то форма списка, которую я изменю для другой программы, чтобы получить опцию diffrent от пользователя.

Я бы хотел, чтобы в списке были переменные класса, такие как self.force, но я не знаю, как использовать это место списка как переменную self.force, но не как аргумент списка (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]
...