删除文件中的空行而不删除缩进Python

时间:2014-08-22 09:51:30

标签: python

我有一个名为“remove_empty_line.py”的python代码,它从文件“a.py”中删除空行,问题是代码,删除影响“a.py”执行的所有缩进。所以我的问题是如何解决这个问题,我的意思是删除带有缩进保存的空行。

以下是代码“remove_empty_line.py”:

import fileinput 
for lines in fileinput.FileInput("a.py", inplace = True) :
    lines = lines.strip()
    if lines = '': continue
    print lines

例如“a.py”就是这样的:

if 1==1 :

    print "hello world"

else :

    print "this is a test file"

在“a.py”上应用“remove_empty_line.py”会给我以下结果:

if 1==1 :
print "hello world"
else :
print "this is a test file"

我希望输出文件“a.py”如下所示:

if 1==1 :
    print "hello world"
else :
    print "this is a test file"

2 个答案:

答案 0 :(得分:2)

不要使用剥离版本覆盖lines变量。您还应该为变量line命名,以提高可读性,因为它一次只有一行。如果变量为空,则不要继续执行,只有在变量包含某些内容时才执行某些操作。

import fileinput

for line in fileinput.FileInput('a.py', inplace = True) :
    if line.strip():    # check if the stripped version contains something
        print line

答案 1 :(得分:0)

你可以使用它。

open('a_mod.py','w').write(''.join(l for l in open("a.py") if l.rstrip()))