【发布时间】:2019-07-30 18:31:18
【问题描述】:
下面是代码,但输出错误,它只在循环时输出第一个索引值。它在我打印 col、rac 和 mon 的值时起作用。我还检查了 i 值以确保它们以正确的方式递增。
文本文件:
Fav Color -- *color*
Fav Car -- *car*
Number -- *Money*
代码:
with open('carstest.txt', 'r') as file :
testdata = file.read()
colors = ["RED","GREEN","BLUE"]
car =['Ferrari', 'Mustang','Camero']
Money = ['one','two','three']
i =0
while i <len(colors):
col = colors[i]
rac = car[i]
mon = Money[i]
testdata = testdata.replace('*color*', col)
testdata = testdata.replace('*car*', rac)
testdata = testdata.replace('*Money*', mon)
print(testdata)
i+=1
else:
print ("DONE")
输出:
Fav Color -- RED
Fav Car -- Ferrari
Number -- one
Fav Color -- RED
Fav Car -- Ferrari
Number -- one
Fav Color -- RED
Fav Car -- Ferrari
Number -- one
DONE
期望的输出:
Fav Color -- RED
Fav Car -- Ferrari
Number -- one
Fav Color -- GREEN
Fav Car -- Mustang
Number -- two
Fav Color -- BLUE
Fav Car -- Camero
Number -- three
DONE
【问题讨论】:
-
在循环中使用
find,然后替换第一个实例 -
你的缩进关闭了吗?使用您当前的格式,您甚至没有读取文件中的第二行我想
with将在停止从文件读取后关闭文件
标签: python replace find text-files