Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 似乎无法从输入文件中删除空白?_Python_Replace_Strip - Fatal编程技术网

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函数返回一个新字符串