Импорт объектов из другого файла Python в виде списка - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть файл (Crop_Library.py), содержащий список объектов с различными атрибутами (одинаковое число для всех):

from Crop import Crop

Basil = Crop("Basil", 3, 0, 5, 10, 5)
Lettuce = Crop("Lettuce", 3, 4, 5, 10, 7)
Kale = Crop("Kale", 1, 2, 3, 4, 5)

Я хотел бы, чтобы моя программа с графическим интерфейсом (GUI.py) прочиталавсе объекты в Crop_Library.py и сохранить их в списке, чтобы мой GUI мог перечислить их в комбинированном списке (поэтому их также необходимо преобразовать в строки или просто прочитать строку crop.name, который является первым атрибутом для всех).

На данный момент вопрос импорта - это вопрос.Однако, как FYI, я хотел бы добавить функциональность редактирования в другую часть моего GUI в будущем, чтобы объекты можно было создавать / редактировать / удалять.Я открыт для использования json-файла вместо python-файла для хранения этих объектов, если это лучший подход - я новичок в python и просто очень потерян, поэтому любые рекомендации приветствуются.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Если вы используете JSON, то, что вы читаете, не будет объектами Crop.Вы можете превратить ввод в объекты Crop после чтения данных.

Вот как вы можете получить список при импорте того, что у вас есть:

from Crop import Crop

Basil = Crop("Basil", 3, 0, 5, 10, 5)
Lettuce = Crop("Lettuce", 3, 4, 5, 10, 7)
Kale = Crop("Kale", 1, 2, 3, 4, 5)

crops = [ Basil, Lettuce, Kale ]

или более кратко, если вы нене нужны имена объектов, которые вы не должны ...

from Crop import Crop

crops = [
    Crop("Basil", 3, 0, 5, 10, 5),
    Crop("Lettuce", 3, 4, 5, 10, 7),
    Crop("Kale", 1, 2, 3, 4, 5,)
]

Кстати, согласно соответствующим соглашениям об именах Python, имена ваших объектов Crop должны быть в нижнем регистре.

0 голосов
/ 17 февраля 2019

Существует несколько решений:

  1. Создайте новый файл .txt, сохраните списки и прочитайте из них

  2. Создайте кодкоторый читает из этого файла

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