我有一个文件(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程序(GUI.py)读取Crop_Library.py中的所有对象并将它们存储在列表中,以便我的GUI可以在组合框中列出它们(因此也需要将它们转换为字符串) ,或仅读取crop.name字符串,这是所有属性的第一个属性。
目前,导入是个问题。但是,作为一个FYI,我希望将来在我的GUI的另一部分中添加编辑功能,以便可以创建/编辑/删除对象。如果这是一种更好的方法,我愿意使用json文件而不是python文件来存储这些对象-我是python的新手,并且迷路了,因此可以接受任何指导。
谢谢!
答案 0 :(得分:0)
有一些解决方案:
创建一个新的.txt文件,存储列表并从中读取
创建从该文件读取的代码
答案 1 :(得分:0)
如果使用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对象名称应为小写。