我有一个程序要在另一个文件中存储类对象列表。为此,我将对象添加到列表中,然后使用此代码将该列表保存到另一个文件中。但是,当我的程序尝试将列表导入回来时,它将失败。
这是我的代码
import sys
from test_two import *
print(test_list)
class Test:
def __init__(self):
self.number = 5
test_list = [Test(),Test(),Test()]
writing =open('test_two.py','a')
print(test_list)
writing.write("TestList = {}".format(test_list))
writing.close()
这是存储列表的程序class Test:
def __init__(self):
self.number = 5
TestList = [<__main__.Test object at 0x103acc690>, <__main__.Test object at 0x103ab38d0>, <__main__.Test object at 0x103b54750>]
但是,在原始程序中,当我尝试导入时出现此错误Traceback (most recent call last):
File "/Users/rudiherrig 1 2/Documents/test.py", line 2, in <module>
from test_two import *
File "/Users/rudiherrig 1 2/Documents/test_two.py", line 4
TestList = [<__main__.Test object at 0x103acc690>, <__main__.Test object at 0x103ab38d0>, <__main__.Test object at 0x103b54750>]
^
SyntaxError:语法无效当列表中有对象但找不到任何东西时,我尝试了搜索堆栈溢出和google的错误。那甚至是问题吗?,我很确定列表可以存储对象,但是不确定。基本上,您认为是什么引起了该问题?
最佳答案
test_list
和TestList
可能引用相同的列表,如果您在类中将TestList
更改为test_list
没问题,错误应该消失了吗?test_list = ['<__main__.Test object at 0x103acc690>', '<__main__.Test object at 0x103ab38d0>', '<__main__.Test object at 0x103b54750>']
代码运行正常,使用以下内容创建test_two.py:TestList = [<__main__.Test object at 0x000001EE35510588>, <__main__.Test object at 0x000001EE35510508>, <__main__.Test object at 0x000001EE355105C8>]
并打印到终端
关于python - 导入类对象列表时的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63079797/