我编写了一个程序,它打开一个文件并逐行读取并存储每行的第三个元素。问题是,当我将这些输出写入文件时,我需要将它们更改为不适合我的字符串,因为我希望稍后对写入的文件进行一些数学运算。仅供参考,它也不适合像这样存储它并在阅读时使用int()。
有人可以帮我解决这个问题吗?
with open("/home/test1_to_write", "w") as g:
with open("/home/test1_to_read", 'r') as f:
for line in f:
a=line.split()
number = int(a[3])
g.write(str(number)+'\n')
g.close()
答案 0 :(得分:3)
没有办法告诉文本文件1
是第一个而不是字母"1"
。如果您需要,请考虑将整个内容存储为列表,而不是使用某种串行格式,例如: JSON:
import json
with open("/home/test1_to_write.json", 'w') as outfile:
with open("/home/test1_to_read", 'r') as infile:
data = [int(line.split()[3]) for line in infile]
json.dump(data, outfile)
然后您可以使用以下方式加载数据:
with open("/home/test1_to_write.json", "r") as infile:
read_data = json.load(infile)