我将几个变量用在一个列表变量中,当工作完成后,我想将这个变量保存到一个txt文件中以供进一步使用
这段代码的工作原理是,它不在txt文件中的新行中追加(尽管我对新行使用了\n
),但它只是增加了同一行上的变量
ess[0].append(ess_e), ess[1].append(essv), ess[2].append(essp), ess[3].append(essq), ess[4].append(ess_s), ess[5].append(ess_d)
file = open("relais.txt", "w")
file.write(repr(ess) + "\n")
file.close()
程序的第一次运行很好,下面是txt文件
[[datetime.datetime(2021, 7, 18, 11, 31, 35, 4978)], ['61'], ['mo'], ['145'], [datetime.datetime(2021, 7, 18, 11, 31, 42, 3653)], [datetime.timedelta(seconds=6, microseconds=998675)]]
但第二次跑步时,我看到了这一点,在1行中
[[datetime.datetime(2021, 7, 18, 11, 31, 35, 4978), datetime.datetime(2021, 7, 18, 11, 33, 33, 920715)], ['61', '54'], ['mo', 'kj'], ['145', '10'], [datetime.datetime(2021, 7, 18, 11, 31, 42, 3653), datetime.datetime(2021, 7, 18, 11, 33, 42, 932126)], [datetime.timedelta(seconds=6, microseconds=998675), datetime.timedelta(seconds=9, microseconds=11411)]]
我希望第一个结果在第1行,第二个结果在第2行,依此类推
我怎么告诉他把它写成一行,而不是把变量字段合并在一起得到这个呢
[[datetime.datetime(2021, 7, 18, 11, 31, 35, 4978)], ['61'], ['mo'], ['145'], [datetime.datetime(2021, 7, 18, 11, 31, 42, 3653)], [datetime.timedelta(seconds=6, microseconds=998675)]]
[[datetime.datetime(2021, 7, 18, 11, 33, 33, 920715)], ['54'], ['kj'], ['10'], [datetime.datetime(2021, 7, 18, 11, 33, 42, 932126)], [datetime.timedelta(seconds=9, microseconds=11411)]]
添加
\n
不起作用的原因是数据不在行中,而是按字段分组。我使用了列表理解来获取分组数据并将其转换为行。然后,您可以使用\n".join(
获取每一行,并用换行符将其连接起来,从而获得预期的输出相关问题 更多 >
编程相关推荐