如何在每次从 0 到 1、1 到 2 "跳跃"后添加一个空行。 这是我的代码。
A = [11,22,33,44,55,66,77,88,99]
with open ("vv.txt" ,"w") as out_file:
for i in range(3):
for j in range(4):
out_string = str(i) + " " + str(j) + " " + str(A[i]) + " "
out_string += "n"
out_file.write(out_string)
out_file.close()
输出:
0 0 11
0 1 11
0 2 11
0 3 11
(add a blank line here)
1 0 22
1 1 22
1 2 22
1 3 22
(add a blank line here)
2 0 33
2 1 33
2 2 33
2 3 33
在嵌套循环后添加换行符:
A = [11,22,33,44,55,66,77,88,99]
with open ("vv.txt" ,"w") as out_file:
for i in range(3):
for j in range(4):
out_string = str(i) + " " + str(j) + " " + str(A[i]) + " "
out_string += "n"
out_file.write(out_string)
out_file.write("n")
out_file.close()
您需要在外循环之间添加一个空行。
如果您不希望在最后出现空行(如示例输出所示(,则还需要一个 if 语句。
A = [11,22,33,44,55,66,77,88,99]
with open ("vv.txt" ,"w") as out_file:
for i in range(3):
for j in range(4):
out_string = str(i) + " " + str(j) + " " + str(A[i]) + " "
out_string += "n"
out_file.write(out_string)
if i < 2:
out_file.write("n")
out_file.close()
请记住,range(3)
为您提供0,1,2
,您只需要在0
处换行1
这就是为什么需要i < 2
。
期待已久的单行
print('nn'.join('n'.join('%r %r %r'%(i, j, A[i]) for j in range(4)) for i in range(3)),
file=open("vv.txt", "w")))
- 上面的代码没有在文件末尾添加空行(即文件不以
"nn"
结尾( - 字符串的
.join
方法非常有用(并可能导致令人难以置信的滥用(。 - 使用
print(..., file=...)
代替fileobject.write(...)
会自动做正确的事情,在文件末尾添加换行符。 - 文件对象在完成其作业后自动关闭并垃圾回收
print
。