2015-12-29 12 views
5

wykonywania skryptu z miejsca po "conv:" wyniki jest "nowej linii", jak poniżej:usuń n "po" lines.replace

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

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

jak usunąć \ n (nowa wersja)?

usuwanie spacji po konw .: skrypt działa idealnie.

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

wyniki to:

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

chciałbym posiadać:

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

jakie jest wyjście za pomocą zastępowania wolnego miejsca? co z użyciem rstrip()? jak 'lines = lines.replace (" www. "," conv: ".rstrip())' –

+0

cześć, te same wyniki wyjściowe –

+0

Nie mam wtedy pytania, jakie są oczekiwane wyniki? –

Odpowiedz

2

Linia

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

dzieli linie na przestrzeni, dzięki czemu część z conv: stanie się pojedynczym adresem URL.

Można zrobić

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

zamiast.

1

Ty nawet nie potrzebują listowych:

#!/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, jeśli zrobisz to w ten sposób, uratujesz sobie niepotrzebną kompozycję list – heinst

1

Najprostszym sposobem, aby osiągnąć swój cel z danym kodem byłoby zmienić

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

do

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

Zatem będzie dzielenie ciąg lines na nowej linii, ignorując wszystko Biała przestrzeń.

0

Dlaczego łączysz wydruki z \ n, ale w tym momencie będziesz mieć coś w rodzaju adresu URL = ['conv:', 'yahoo.com'] .so print (".join (adresy URL)) będzie działać- print przejdzie do następnego wiersza, (nie wiem pliku wejściowego zakładając jeden adres URL na linię)