25 HAZİRAN 2011, CUMARTESİ
Python ile büyük metin dosyaları, hafıza yükleme yapmadan satır satır okuyun
Büyük bir dosya, satır satır okumak istiyorum. Dosya 5 GB daha var ve her satırı okumak istiyorum diyelim, ama belli ki hafızasında çok büyük bir listesini oluşturur çünkü readlines()
kullanmak istemiyorum.
Nasıl bu dava için çalışmak aşağıdaki kodu olacak? xreadlines
kendini belleğe tek tek okuyor mu? Jeneratör ifadesi gereklidir?
f = (line for line in open("log.txt").xreadlines()) # how much is loaded in memory?
f.next()
Artı, ben sadece Linux olarak ters sırada bunu okur için ne yapabilirim tail
komut?
Buldum:
http://code.google.com/p/pytailer/
ve
"python head, tail and backward read by lines of a text file"
Her ikisi de çok iyi çalıştı! Teşekkürler
CEVAP
25 HAZİRAN 2011, CUMARTESİ
Keith, az ve öz olsa da, dosyayı kapatmak değil, çünkü bu cevap veriliraçıkça
with open("log.txt") as infile:
for line in infile:
do_something_with(line)
Bunu Paylaş:
Nasıl hat Java kullanarak büyük metin ...
Ne kadar büyük dosya okumak için pytho...
Çok büyük bir metin dosyası son 10 sat...
Nasıl kontrol etmek için Python metin ...
Nasıl (şap) Python bir satır kaldırabi...