python不写文本中的空格

时间:2014-08-24 08:55:50

标签: python

我有工作代码,写着' 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") 

输入:afile.txt

   Welcome here
Good place  

预期产出:

hi
   Welcome here     
Good place

我也需要保留我的压力。我怎么能这样做?

2 个答案:

答案 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,您就可以了......