以表格形式将结果打印到文本文件

print results to text file in tabular form

我目前正在打印到控制台,我可以将输出打印到表格形式的文本文件吗?

我正在尝试使用以下方式编写文件:

with open("increment.txt", "w") as file:
    file.write(i, mol)
    file.close()

程序如下:

import numpy as np

    i: int
    for i in range(1, 100,5):
        mol = int((i*5)/(i+2))

        print('i & mol are:',i, mol)


    with open("incre.txt", "w") as file:
        file.write(i, mol)
        file.close()

错误信息.. file.write(i, 摩尔)

TypeError: write() 参数必须是 str,而不是元组

您正在循环内定义 mol;据我了解您的问题,这是更正后的代码:

    with open("incre.txt", "w") as file:
        for i in range(1, 100, 5):
            mol = int((i * 5) / (i + 2))
            file.write(str(i) + " " + str(mol))
        file.close()

这将写入由 space 分隔的 i 变量,然后是 mol 变量。请注意,由于您尚未指定输出目录,它将在存储 python 脚本的任何位置创建文件。

这里有一个更 pythonic 的方法:

def write_example(output_path):
    with open(output_path, "w") as file:
        for i in range(1, 100, 5):
            mol = int((i * 5) / (i + 2))
            file.write(str(i) + " " + str(mol) + "\n")
        file.close()


outpath = "/home/some_path_here/test.txt"
write_example(outpath)

这会生成一个包含以下内容的 txt 文件:

1 1 6 3 11 4 16 4 21 4 26 4 31 4 36 4 41 4 46 4 51 4 56 4 61 4 66 4 71 4 76 4 81 4 86 4 91 4 96 4

每一个都在一个新的行上。

如果有帮助请告诉我!干杯!