python - 导入类对象列表时的语法错误

标签 python list class syntax-error

我有一个程序要在另一个文件中存储类对象列表。为此,我将对象添加到列表中,然后使用此代码将该列表保存到另一个文件中。但是,当我的程序尝试将列表导入回来时,它将失败。
这是我的代码

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_listTestList可能引用相同的列表,如果您在类中将TestList更改为test_list没问题,错误应该消失了吗?
  • 同样,如果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/

    相关文章:

    python - 优化此 python 代码

    php SQL 数组的动态列表 - 如何设置顺序?

    python - 在 Python 的 csv 字典中创建字典列表

    r - 将 fread 函数读入的数据转换为 data.frame

    C++排序数组是指向类的指针

    c++ - 一个类在 C++ 中只包含(默认情况下)私有(private)成员有什么用处?

    python - 使用小部件更新 Gmaps + Jupyter 中的标记

    python - 用 Python 重新创建 RNG

    java - 我如何剪切用于 Selenium 测试的java堆栈跟踪?

    python - 无法从 CSV 中提取独特的单词