使用 python 写入文件时格式化为可迭代对象

问题描述 投票:0回答:1

我正在使用以下方法编写一个简单的数据文件:

f = open(filename,'w')

for i in range(len(xarr)):
   f.write("%16.8e\t%16.8e\t%16.8e\n" %(xarr[i], y1[i], y2[i]))
f.close()

我想把它放入一个函数中并用它来写入许多文件。我每次写入的数组数量都不同(y1,y2,.....等)。

如何将格式提及为可迭代,以便它根据我需要写入的数组数量而变化?

谢谢你。

python file io format
1个回答
0
投票

您不需要单一的格式字符串。使用

zip()
旋转列表列表,然后使用生成器将格式字符串应用于每个列表中相应位置的所有项目。

def write_arrays(filename, arrays):
    with open(filename, "w") as f:
        for items in zip(*arrays):
            f.write("\t".join("%16.8e".format(item) for item in items))
            f.write("\n")
© www.soinside.com 2019 - 2024. All rights reserved.