在“lines.replace”之后删除\ n

时间:2015-12-29 14:00:07

标签: python

在“conv:”之后用空格执行脚本,结果是“换行符”,如下所示:

    lines = lines.replace("www.","conv: ")

conv:
yahoo.com
conv:
yahoo.it
conv:
yahoo.org
conv:
yahoo.net

如何删除\ n(新行)?

在转化后删除空格字符:脚本运行完美。

#!/usr/bin/python

with open('/home/user/tmp/prefix.txt') as f:
    lines = f.read()
    lines = lines.replace("http://","")
    lines = lines.replace("www.","conv:")

    urls = [url.split('/')[0] for url in lines.split()]
    print ('\n'.join(urls))

结果是:

conv:yahoo.com
conv:yahoo.it
conv:yahoo.org
conv:yahoo.net

我想要:

conv: yahoo.com
conv: yahoo.it
conv: yahoo.org
conv: yahoo.net

4 个答案:

答案 0 :(得分:2)

该行

urls = [url.split('/')[0] for url in lines.split()]

将您的行拆分为空格,这样您就可以将conv:部分作为单个网址。

你可以做到

urls = [url.split('/')[0].replace("conv:", "conv: ") for url in lines.split()]

代替。

答案 1 :(得分:1)

你甚至不需要列表理解:

#!/usr/bin/python

with open('/home/user/tmp/prefix.txt') as f:
    lines = f.read()
    lines = lines.replace("http://","")
    lines = lines.replace("www.","conv: ")

    print lines

答案 2 :(得分:1)

从给定代码中实现目标的最简单方法是更改​​

urls = [url.split('/')[0] for url in lines.split()]

urls = [url.split('/')[0] for url in lines.split('\n')]

因此,您将在换行符上拆分lines字符串,而不是在所有空格上。

答案 3 :(得分:0)

为什么要用\ n加入打印件,而此时你会有类似urls = ['conv:','yahoo.com']的东西。所以print(''。join(urls))将会工作 - 打印将进入下一行本身,(不知道输入文件假设每行一个网址)