我有工作代码,写着' hi'在文本文件中如果'欢迎'出现在下一行。
但是,如果下一行以字开头,那么“欢迎'然后它不显示' hi'
代码:
with open('afile.txt', 'r+') as f:
a = [x.rstrip() for x in f]
index = 0
for item in a:
if item.startswith("Welcome"):
a.insert(index, "hi")
break
index += 1
# Go to start of file and clear it
f.seek(0)
f.truncate()
# Write each line back
for line in a:
f.write(line + "\n")
Welcome here
Good place
hi
Welcome here
Good place
我也需要保留我的压力。我怎么能这样做?
答案 0 :(得分:1)
您目前正在直接检查Welcome
。相反,剥去你的空格行,而是使用以下条件
if item.strip().startswith("Welcome"):
修改强>
我在rstrip
之前看到您已完成a = [x.rstrip() for x in f]
。请改为lstrip
以从左侧删除空格。但是,如果这样做,则不会保留缩进。
答案 1 :(得分:0)
在行中:
a = [x.rstrip() for x in f]
将rstip
替换为strip
,您就可以了......