在单个 ascii 文件中每第 N 组数据添加一个空行
Add in a blank line every Nth group of data in a single ascii file
如何在每个 "jump" 从 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('\n\n'.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")))
- 上面的代码没有在文件末尾添加空行(即文件没有以
"\n\n"
结尾)
.join
method of strings 非常有用(并且可能导致令人难以置信的滥用)。
- 使用
print(..., file=...)
代替 fileobject.write(...)
会自动执行正确的操作,即在文件末尾添加换行符。
- 当
print
完成他们的工作时,文件对象自动关闭并被垃圾收集。
如何在每个 "jump" 从 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('\n\n'.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")))
- 上面的代码没有在文件末尾添加空行(即文件没有以
"\n\n"
结尾) .join
method of strings 非常有用(并且可能导致令人难以置信的滥用)。- 使用
print(..., file=...)
代替fileobject.write(...)
会自动执行正确的操作,即在文件末尾添加换行符。 - 当
print
完成他们的工作时,文件对象自动关闭并被垃圾收集。