以表格形式将结果打印到文本文件
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
每一个都在一个新的行上。
如果有帮助请告诉我!干杯!
我目前正在打印到控制台,我可以将输出打印到表格形式的文本文件吗?
我正在尝试使用以下方式编写文件:
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
每一个都在一个新的行上。
如果有帮助请告诉我!干杯!