2010-10-14 15 views

cevap

17

Ben dosyalar yineleyiciler olmadan önce geliyor ve geriye dönük uyumluluk için korunur hayal ediyorum. Hatta tek astar için, bu var tamamen daha sezgisel bir şekilde aynı şeyi yapacağız list(fh) olarak oldukça gereksiz. Bu da size

gnibbler's answer Bkz vb set(fh), tuple(fh) yapma özgürlüğü verir.

+0

+1 "collection_constructor (fh)" hakkında iyi bir nokta. İtiraf etmeliyim, bana hiç olmadı. – delnan

+0

Python ile başladığımda, daha önce farkettiğimi fark etmeden önce '(fh)' yi listeledim. Geriye dönük uyumluluk için emin misin? Demek istediğim Python 3 ile çok fazla uğraştılar, bu yüzden bunu neden temizlemesin? –

+0

@Ashish, Onlar gerçekten bu kadar kırmadılar ve hayır geriye dönük uyumluluk için emin değilim. 2.6 oldukça yeni olmadığında python programlamaya başladım, bu yüzden noob bir şeyim. Örneğin 2.5 için hiç kod yazmamıştım, böylece geçmişi hiç bilmiyorum. – aaronasterling

1

readlines() her hat üzerinden yineleme planı yok eğer isteyebilirsiniz hatları, bir listesini döndürür.

+2

'listesi (fh)' aynısını yapacağız. –

+0

@Ashish: 'readlines ([size])' isteğe bağlı bir argüman alır. – MattH

+1

@MattH, boyutun bir ipucu olduğunu ve daha fazla veya daha az satır döndürülebildiğini unutmayın. –

16

Çoğunlukla geriye dönük uyumluluk için vardır. readlines dosya nesneleri yinelenebilir önce readles yolu vardı

Boyutu argüman ile readlines kullanmak da bir hit veriyi tek bir okur, çünkü bellek için ayırmak gerekmez, çünkü dosyaları okumak için en hızlı yollardan biridir dosyanın tamamı tek seferde

İlgili konular