有一个列表,其中每个成员是一个8位字符串
values = [ '12345678', '23848238', '23441236', ...
我想把所有这些都写在.txt上,如下所示:
123456782384823823441236...
我尝试使用以下代码执行此操作:
x = open('a.txt', 'w')
for l in range(len(values)):
for m in range(0,7):
current = values[l]
x.write(current[m])
x.seek((l*8)+(m))
结果是.txt丢失了第一个数字(在本例中为“1”),然后每8个数字一直丢失到最后。我试过搞乱我索引所有东西的方式(并且确实显示了第一个数字),但是它仍然丢失了每一个第八个数字
如果您只想将该列表中的所有字符串写入一个文件,则无需检查长度和查找等
缺少第一个字符是因为
seek
位于循环的末尾-导致在第二次迭代中覆盖第一个字符因为
range(0,7)
是[0,1,2,3,4,5,6]
,所以每8个字符都会丢失一个你真的应该停止像这样写数据,只需要按照@TigerhawkT3的建议一个一个地输出数据就行了-根本不需要寻找
相关问题 更多 >
编程相关推荐