Python 3.x 在data.txt中写入过去的值
我想在data.txt中写一些列表 程序的输出为:Python 3.x 在data.txt中写入过去的值,python-3.x,Python 3.x,我想在data.txt中写一些列表 程序的输出为: Triangle ('(a1, b1)', '(a2, b2)', '(a3, b3)') Triangle ('(a4, b4)', '(a5, b5)', '(a6, b6)') 用这行代码写在data.txt中 data = {} data['shapes'] = [] data['shapes'].append({ 'name': str(triangle.name), 'Vertices': list(triangl
Triangle
('(a1, b1)', '(a2, b2)', '(a3, b3)')
Triangle
('(a4, b4)', '(a5, b5)', '(a6, b6)')
用这行代码写在data.txt中
data = {}
data['shapes'] = []
data['shapes'].append({
'name': str(triangle.name),
'Vertices': list(triangle.get_points())
我需要以我的data.txt格式输出,json格式如下:
{"shapes": [{"name": "Triangle", "Vertices": ["(a1, b1)", "(a2, b2)", "(a3, b3)"]}, {"name": "Triangle", "Vertices": ["(a4, b4)", "(a5, b5)", "(a6, b6)"]}]}
但我得到的是:
{"shapes": [{"name": "Triangle", "Vertices": ["(a4, b4)", "(a5, b5)", "(a6, b6)"]}]}
那么,如何写入具有顶点(a1,b1)…(a3,b3)的三角形的过去值?在将第一个三角形对象的信息附加到数据['shapes'之前,似乎要用下一个三角形对象覆盖引用第一个三角形对象的变量
添加到数据中的代码块['shapes']应该执行两次,每个三角形对象一次。这部分代码应该只执行一次:
data = {}
data['shapes'] = []
您应该反复执行代码的以下部分
data['shapes'].append({
'name': str(triangle.name),
'Vertices': list(triangle.get_points())
可能在一个类似于这个的循环中
for triangle in triangles:
data['shapes'].append({
'name': str(triangle.name),
'Vertices': list(triangle.get_points())
需要了解您是如何在现有代码中实现这一点的,因为这就是错误所在。我猜
Triangle
中的数据在添加到字典之前会被覆盖,但如果没有代码,我无法判断。您当前的代码只写入最后输出的数据<代码>“Triangle”正在覆盖以前输出的值,这就是为什么您的字典只存储最新的值。谢谢@MarianD,您的回答让我高兴。我将写入data.txt的代码放在同一个循环中,以生成三角形输出。