2011-07-24 7 views
10

Słyszałem, że jest to tabela sqlite po prostu zapinana na suwak, ale nie mogę znaleźć ani tego, aby ją otworzyć i uzyskać dostęp do jej zawartości. Plik, który muszę otworzyć, to książka, a nazwa pliku to book.zbook ...Czy ktoś wie, czym jest plik zbook? Albo jak mogę to otworzyć?

Jeśli masz jakieś pomysły, daj mi znać, proszę!

+0

Zakładając, że "book.zbook" * nie ma * ograniczonej dystrybucji, czy istnieje możliwość umieszczenia na niej linku? (Lub link do [innego] nieograniczonego pliku zbook.) –

Odpowiedz

12

Nigdy wcześniej nie pracowałem z plikami zbook, ale mam spore doświadczenie z "tylko skompresowanymi" formatami plików i SQLite i masz szczęście. Mogli używać komercyjnego rozszerzenia SQLite Compressed and Encrypted Read-Only Database (CEROD), ale tak nie jest.

.zbook to baza danych SQLite3 zapakowana w surową kompresję zlib. (Gzip bez nagłówka, w zasadzie)

Oto niektóre minimalny kod do rozpakowania go w Pythonie:

import zlib 

infile = open('AntiguoTestamento.zbook', 'rb') 
outfile = open('AntiguoTestamento.sqlite3', 'wb') 

outfile.write(zlib.decompress(infile.read())) 

infile.close() 
outfile.close() 

Jestem rzeczywiście nieco zaskoczony, że. "Po prostu zapinane na zamek" zwykle oznacza, że ​​podstawowym formatem pliku jest XML lub HTML lub coś niestandardowego, takiego jak kod bajtowy lub bloki binarne, ponieważ SQLite nie zostało tak naprawdę zaprojektowane do załadowania z archiwum w ten sposób.

+0

Wow, bardzo dziękuję za pomoc. Doceniam, że poświęciłeś czas, aby mi w tym pomóc. –