2015-12-29 2 views
5

Исполнительного скрипта с пробелом после «ко:» результаты является «перевод строка», как показано ниже:удалить п после «lines.replace»

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

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

как удалить \ N (новая строка)?

удаление символа пробела после conv: скрипт работает отлично.

#!/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

Каков результат с заменой на пробел на нем? как насчет использования rstrip()? например, 'lines = lines.replace (" www. "," conv: ".rstrip())' –

+0

привет, те же выходные результаты –

+0

У меня не возникает вопрос, каков ожидаемый результат? –

ответ

2

Линия

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

разделяет ваши строки на пробел, поэтому вы получите часть conv: как единый URL-адрес.

Вы могли бы сделать

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

вместо этого.

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 
+0

@ MarcoRimoldi, если вы сделаете это таким образом, вы сохраните ненужный список comp – heinst

1

Самый простой путь для достижения своей цели с вашего данного кода будет изменить

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

в

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

Таким образом, вы будете расколоть lines строку на символы новой строки, а не на всех пробельные.

0

Почему вы присоединяетесь к отпечаткам с \ n, пока на этом этапе у вас будет что-то вроде urls = ['conv:', 'yahoo.com'] .so print ('.join (urls)) будет работать, print будет переходить к следующей строке, (не знаю входной файл, предполагающий один URL-адрес в строке)

Смежные вопросы