Main Python code Класс: main.py
class Dog():
name = ""
location = ""
barks = False
NotNaughty = False
def __init__(self, name, **kwargs):
self.name = name
class Cat():
name = ""
location = ""
isQuiet = False
lovesmouse = True
def __init__(self, name, **kwargs):
self.name = name
Я хочу создать файл python, в котором есть коллекция экземпляров, созданных на основе пользовательского ввода, например:
Objects.py
from main import Dog, Cat
d = Dog("lucy")
d.location = "California"
d.barks = False
d.NotNaughty = True
c = Cat("sweetie")
c.location = "Seattle"
c.isQuiet = False
c.lovesmouse = True
Мой код - это скрипт python, который будет использоваться через CLI. Итак, я подумываю об использовании пакета python CLI, такого как PyInquirer или PySimple GUI, чтобы получить пользовательский ввод, задавая вопросы и используя ответы для создания файла objects.py, как показано выше. (Мне нужен этот файл object.py для другой сложной функциональности в моем коде)
Код для использования PyInquirer - использование этого кода в main.py:
from __future__ import print_function, unicode_literals
from PyInquirer import prompt, print_json
from pprint import pprint
print('Hi, welcome to Animal World')
questions = [
{
'type': 'rawlist',
'name': 'Element',
'message': 'What\'s your first Animal?',
'choices': ['Dog', 'Cat']
},
{
'type': 'input',
'name': 'name of animal',
'message': 'What\'s the name?'
},
{
'type': 'input',
'name': 'location of animal',
'message': 'What\'s the location?'
}
]
answers = prompt(questions)
pprint(answers)
Вместо простой печати ответов Я хочу, чтобы формат был в точности как показано выше в object.py. Я ищу входные данные о том, как я могу динамически создавать objects.py, используя пользовательский ввод. Любые предложения высоко ценятся. Любые альтернативы PyInquirer тоже приветствуются! Спасибо!