似乎无法从输入文件中删除空格?

时间:2015-04-10 17:22:59

标签: python replace strip

我正在试图弄清楚如何处理输入文件并将其打印出来,输出中不会出现任何空格。

我当前的脚本如下所示:

#!/usr/bin/python

kf = open ('keyword.txt', 'r')
sl = open ('syslog.txt', 'r')

for line in kf:
    line.replace('\n', "")
    line.strip()
    print line  

然而,这个输出看起来像这样:

polkitd

anacron

acpid

rt-kit daemon

goa

AptDaemon

AptDaemon.PackageKit

AptDaemon.Worker

python

有谁知道如何删除每个项目之间的空白行?

3 个答案:

答案 0 :(得分:0)

尝试打印repr(line)而不是print line,看看你得到了什么。如果有'\n',请尝试拨打line.strip('\n')。另外,请尝试在, print line之后添加一个逗号print line,

答案 1 :(得分:0)

乔安娜,

要检查的一些事项:

1)除了新线以外,是否还有其他类型的结尾' \ n'?根据此文件的创建方式,可能还有一个回车符,' \ r'。 Difference between \n and \r?

2)如果不是这样,我建议将文件加载到文本编辑器中,该编辑器显示所有字符并识别您未过滤掉的内容或打印出每个字符的字符代码删除任何内容之前字符串中的字符,并查看意外字符是什么。

希望有所帮助。

-Matt

答案 2 :(得分:0)

replacestrip都会返回新对象,而不会更改您当前使用的对象,因此您的代码应该是这样的

line = line.replace(...)
line = line.strip(...)