Python 似乎无法从输入文件中删除空白?
我试图弄清楚如何处理输入文件并在输出中不存在任何空白的情况下将其打印出来 我当前的脚本如下所示:Python 似乎无法从输入文件中删除空白?,python,replace,strip,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 go
#!/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
但是,此文件的输出如下所示:
#!/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
有人知道如何删除每个项目之间的空白行吗?尝试打印reprline而不是打印行,看看会得到什么结果。如果有“\n”,请尝试呼叫line.strip“\n”。另外,请尝试在打印行后面加一个逗号作为打印行。替换和剥离都返回新对象,而不是更改您当前使用的对象,因此您的代码应该是这样的
line = line.replace(...)
line = line.strip(...)
谢谢你,作为C语言背景的人,我没有想到这一点,但事实上这就是问题所在。代码不应该是line=line.replace'\n',因为replace函数返回一个新字符串