Python'da yeni satır olmadan dosya okuma
Python'da, çağırmak
temp = open(filename,'r').readlines()
her elemanı dosyadaki bir satır olan bir liste ile sonuçlanır. Biraz aptalca ama yine de: readlines()
aynı zamanda her elemana newline karakteri yazıyor ki bu olmasını istemediğim bir şey.
Bundan nasıl kaçınabilirim?
316
3
Tüm dosyayı okuyabilir ve
str.splitlines
kullanarak satırları bölebilirsiniz:Ya da yeni satırı elle silebilirsiniz:
Not: bu son çözüm yalnızca dosya yeni satırla bitiyorsa çalışır, aksi takdirde son satır bir karakter kaybedecektir.
Bu varsayım çoğu durumda doğrudur (özellikle metin editörleri tarafından oluşturulan dosyalar için, ki bunlar genellikle son satır eklerler).
Bundan kaçınmak istiyorsanız dosyanın sonuna bir yeni satır ekleyebilirsiniz:
Ya da daha basit bir alternatif, bunun yerine satırbaşını
strip
yapmaktır:Hatta oldukça okunaksız olmasına rağmen:
Bu da
or
un geri dönüş değerinin bir boolean değil, doğru veya yanlış olarak değerlendirilen nesne olduğu gerçeğinden yararlanır.Aslında
readlines
yöntemi şuna eşdeğerdir:readline()
satırsonunu tuttuğu için
readlines()` da tutar.Not:
readlines()
ile simetri içinwritelines()
yöntemi son satırları eklemez, bu nedenlef2.writelines(f.readlines())
f2
def
nin tam bir kopyasını üretir.