Python'da for line in file
yapmanın bir yolu olmasını istiyorum; burada satır sonu, istediğim herhangi bir dize olacak şekilde yeniden tanımlanır. Bunu söylemenin başka bir yolu da kayıtlardan ziyade dosyadan kayıt okumak istiyorum; Okuma çizgileri yapmak için eşit derecede hızlı ve kullanışlı olmasını istiyorum.Python'daki dosyadan özel ayırıcı tarafından sonlanan kayıtlar nasıl okunur?
Perl'in $/
giriş kayıt ayırıcısını ayarlama veya java'da Scanner
kullanarak python eşdeğeridir. Bu mutlaka for line in file
'u kullanmak zorunda değildir (özellikle yineleyici bir dosya nesnesi olmayabilir). Sadece hafızaya çok fazla veri okumayı engelleyen bir şey.
Ayrıca bakınız: Add support for reading records with arbitrary separators to the standard IO stack
OP izleyicinin tüm izleyiciyi okuduktan sonra, Douglas Alan çok benzer bir tarif yayınlamış gibi görünüyor. Tartışma 5 yıl] (http://bugs.python.org/issue1152248#msg109117). Onun daha iyi olmasını seviyorum çünkü girdi satırsonunu sadece onu atmak yerine bir çıktı satırsonuna dönüştürmenize izin veriyor… ama benimkileri benimkilendirmek yerine, sadece bağlantıyı bırakacağım. – abarnert
Bağlı olanın bir başka avantajı, akış kapatıldığında tamponun kalanını döndürmesidir. – jozxyqk
@jozxyqk: Bununla ne demek istediğinden emin değilim. Bu versiyon, EOF'de tamponun kalanını verir. (Dosya gerçekten sizin altından kapatılmış ve bir istisna oluşturmuşsa, bu istisnayı istediğinizi varsayalım - sonuçta, tüm nokta "dosyada satır için": ancak farklı bir sınırlayıcı ile çalışmaktır.) – abarnert