在“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
答案 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))将会工作 - 打印将进入下一行本身,(不知道输入文件假设每行一个网址)