【发布时间】:2019-05-13 00:45:59
【问题描述】:
我有一个带有升序浮动的文本文件。我必须在这个文件中包含一个给定的浮点数来保留顺序。我不能使用列表,每个浮点数必须单独在内存中,并查看它与给定数字的比较情况。
我尝试打开文件,创建一个辅助文件并迭代主文件的行。首先如果行小于给定的数字,我在辅助文件中写入,然后我写入数字并再次迭代,这次写入大于数字的行。
我做了这个代码:
arq = open("teste.txt", "r")
aux = open(" aux.txt", "w")
for linha in arq:
if float(linha) < float(6.00):
aux.write(linha+"\n")
aux.write(6.00+"\n")
for linha in arq:
if float(linha) > float(6.00):
aux.write(linha+"\n")
arq.close()
aux.close()
但没有达到我的预期,我不知道为什么......只有第一次迭代(小于数字的行)有效并且包含数字本身。
然后我关闭文件并在第一次迭代后再次打开,这一次一切都符合我的预期。
arq = open("teste.txt", "r")
aux = open(" aux.txt", "w")
for linha in arq:
if float(linha) < float(6.00):
aux.write(linha+"\n")
aux.write(6.00+"\n")
arq.close()
arq = open("teste.txt", "r")
for linha in arq:
if float(linha) > float(6.00):
aux.write(linha+"\n")
arq.close()
aux.close()
我不知道有什么区别。任何人都可以指出我吗?看起来我每次打开一个 txt 文件时只能迭代一次。
【问题讨论】:
-
每行代码的开头都不需要
>。那是报价格式化程序,但您已经正确格式化为代码:)
标签: python file loops insertion