1 回答
TA贡献2019条经验 获得超9个赞
当您写入新文件new_file.write()时,您需要将行号和价格都传递给它。IE
v_priceA = 2500.50
a_file = 'carprices.txt'
output_file = 'highprices.txt'
with open(a_file, 'r') as document:
with open(output_file, 'w') as new_file:
for line, price in enumerate(document):
if float(price) > v_priceA:
new_file.write(str(line) + " " + str(price))
# See how I pass both in here?
重要的是要知道,每当您open()在 python 中写入文件时,它都会在写入之前"w"擦除该文件中的任何内容。(如果您有兴趣,还有一个附加选项)。 打开的文档。
请注意我如何在上面的代码中只打开一次输出文件?那应该有帮助。
现在来看看如何enumerate工作。它在 python 中接受一个可迭代对象, 并且对于该可迭代对象中的每个项目返回一个元组,(itemIndex, item)其中至少有一个非常重要的异常,它基本上相当于:
def myEnumerate(iterableParameter):
i = 0
outPutList = []
while i < len(iterableParameter):
outPutList += (i, iterableParameter[i])
return outPutList
重要的例外是enumerate创建一个生成器,上面创建一个列表。请参阅进一步阅读。
添加回答
举报