【问题标题】:How to break the line every n-th time when results are written individually into a file?将结果单独写入文件时,如何每隔 n 次换行一次?
【发布时间】:2017-08-27 00:56:24
【问题描述】:

我有这个程序,它从两个单独的文件(ex1.idl and ex2.idl) 中获取值,执行计算并将结果写入不同的文件(ex3.txt)。这一切都很好,输出是一大行的结果。

我正在寻找一种简单的方法来在输出中每隔 10 个元素换行,如下所示:

100 200 500 600 120 180 400 450 900 100

100 200 700 600 620 580 400 450 900 400

200 200 700 800 620 580 400 450 800 300

with open('ex1.idl') as f1, open('ex2_1.idl') as f2:
    with open('ex3.txt', 'w') as f3:

        start_line = 905        #reading from this line forward
        for i in range(start_line - 1):
            next(f1)
            next(f2)
        f1 = list(map(float, f1.read().split()))
        f2 = list(map(float, f2.read().split()))
        for result in map(lambda v : v[0]/v[1], zip(f1,f2)):
            if(f3.count()%10 != 0):
                f3.write(str(result) + ' ')
            else:
                f3.write(str(result) + '\n')
   

提前感谢您的解决方案(建议)。

【问题讨论】:

    标签: line break python-3.6


    【解决方案1】:

    我想为以后的观众准备的:

    for i, result in enumerate(map(lambda v : v[0]/v[1], zip(f1,f2)), start=1):
                if(i%10 != 0):
                    f3.write(' ' + str('{0:.9f}'.format(result)))
                else:
                    f3.write(' ' + str('{0:.9f}'.format(result)) + '\n')
    

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 2016-06-13
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多