我正在试图弄清楚如何处理输入文件并将其打印出来,输出中不会出现任何空格。
我当前的脚本如下所示:
#!/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
有谁知道如何删除每个项目之间的空白行?
答案 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)
replace
和strip
都会返回新对象,而不会更改您当前使用的对象,因此您的代码应该是这样的
line = line.replace(...)
line = line.strip(...)