2016-03-19 33 views
0

Açtığım ve satır satır okuduğum urldata.txt adlı bir metin dosyası var. Satır satırını okuyabilmek için bir döngü yazdım, ancak aldığım çıktıyı bir liste olarak kaydetmek istiyorum. İşte ben ne var:Çıktıyı Liste Olarak Kaydetme

textdata = open("urldata.txt","r") 
for line in textdata: 
    print(line) 

bu döndürür:

http://www.google.com 

https://twitter.com/search?q=%23ASUcis355 

https://github.com/asu-cis-355/course-info 

Ben bir liste olarak yukarıdaki bu satırları kaydetmek istiyorum. Baska öneri? Eklemeyi denedim ve buna benzer, ancak Python'da yeni olmaktan nasıl gideceğimi bilmiyorum.

+1

öyle mi ne Senin tarafından bir liste olarak kaydetmek ister misin? Dosyanızda ne * kesin * çıktı bekliyorsunuz? Lütfen bir örnek çıktı verin. Ayrıca, lütfen bunu çözmeye çalışmak için yazdığınız kodun bir kısmını sağlayın. – idjaw

+0

Her satırı değiştirebileceğim şekilde kaydetmek istiyorum. Sonunda her bir çizgiyi 3 farklı parçaya ayırmam gerekiyor. Yani, daha sonra manipüle etmek için bir şekilde kaydedilmiş olsaydı bana yardımcı olurdu. Bu yardımcı olur mu? –

cevap

1

Sadece dosyanın her satırının bir listesini mi istiyorsunuz? Eğer sadece bir liste olarak çizgiler istiyorsanız

urls = open("urldata.txt").read().splitlines() 
+0

Evet! Tam olarak, bu bana bir ton yardımcı oldu. Sonuçta sonsuza kadar bir döngüye ihtiyacım yoktu. –

+0

@JessicaTylka Lütfen cevabın yanındaki onay işaretini kullanın. Teşekkürler –

0

, o Önemsiz:

with open("urldata.txt") as textdata: 
    lines = list(textdata) 

yeni satırlar soyulmuş istiyorsanız, bunu yapmak için bir liste anlama kullanın:

with open("urldata.txt") as textdata: 
    lines = [line.rstrip('\r\n') for line in textdata] 
+0

Bölmeler hakkında ne var? –

+0

Veya 'readlines()'? – TigerhawkT3

+1

@ cricket_007: Yoğun bellek kullanımını iki katına tercih etmemeyi tercih ediyorum, bu da 'splitlines'ın takip ettiği bir slurp. Hat satırlarını okuyarak ve sıyırma bazı durumlarda biraz daha yavaştır, ancak RAM sıkı olduğunda büyük dosyaları daha iyi işler. İdeal olarak, aslında liste yapmazsınız, sadece doğrudan yineleyin. – ShadowRanger

İlgili konular