Распечатать объекты класса Python с атрибутами в другом файле python, используя пользовательский ввод - PullRequest
0 голосов
/ 27 марта 2020

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 тоже приветствуются! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...