Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > последняя запись-объект в файле pickle


Автор: pythonwin 6.4.2007, 13:50
добрый день!
как можно максимально быстро получить последний элемент из файла записанного через pickle и узнать число записей-объектов в этом файле?
Код

file1=open(filename,'r')
t=False
dict1={}
k=0
while not t:
    try:
        dict1 = pickle.load(file1)
    except:
        t=True
    if not dict1:
        t=True
    else:
        k+=1
print dict1, k
file1.close()

Автор: dvska 8.4.2007, 23:38
Радикального способа не знаю (noload() ускорения не дал), вот лишь небольшая доработка:

Код

try: 
    import cPickle as pickle 
except ImportError: 
    import pickle

.....

    k = 0
    while True:
        try:
            dd = pickle.load(f) 
            k += 1
        except (EOFError, pickle.UnpicklingError):
            break

   print k, dd

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)