Szczegóły programowe:
Interfejs przypomina interfejs ZipFile za.
Analizowania struktury archiwum oraz pliki nieskompresowane są obsługiwane w czystym Pythonie.
Dekompresja odbywa się poprzez "unrar 'narzędzia wiersza poleceń
Opis ..
- rozumie archiwów RAR 3.x
- Uchwyty archiwów wielu głośności.
- Uchwyty przechowywane sama plików.
- Uchwyty nazwy Unicode.
- Obsługuje archiwa zabezpieczone hasłem.
- Uchwyty archiwum komentarze.
- Do dekompresji wykorzystuje zewnętrzne narzędzia wiersza polecenia unrar.
Co nowego w tym wydaniu:
- .read () i .readinto () teraz zrobić pętli czytaj pracować poprawnie w skrócie brzmi. Ważne dla Pythona 3.2+, gdzie odczytać z rury może wrócić nawet na krótki wynik blokowania deskryptor pliku.
- Prawidłowe zgłoszenie w .extract (), .extractall (), .testrar błędu ()
- .read () z rury unrar: wolą wrócić UnRAR kod błędu, jeśli to niemożliwe, zrobić własne kontrole błędów .
- Należy unikać dodawania ciągu w .read () zamiast użyć zawsze listę + dołączyć scalić wieloczęściowe czyta.
- dumprar: dont ponownego kodowania ciągów bajtów (python 2.x). Pozwala to uniknąć niepotrzebnych awarii podczas drukowania nieważny Unicode.
Co nowego w wersji 2.4:
- Poprawione błędy:
- USE_DATETIME: przetrwać złe wartości z RAR .
- błąd w skorumpowanym obsługi Unicode nazw plików.
- dumprar:., Aby pracować z unicode zarówno rury i konsoli
Co nowego w wersji 2.3:
- Opis:
- Pomoc .seek () na strumienie plików. (Kristian Larsson)
- Pomoc .readinto () na strumienie plików. Zoptymalizowany realizacji jest dostępny na Python 2.6+ gdzie memoryview jest dostępny.
- komentarzy plików Pomoc -. RarInfo.comment zawiera dane zdekompresowane jeśli dostępne
- Przedmioty plików zwracanych przez RarFile.open () są io.RawIOBase kompatybilne. Można je dodatkowo owinięte io.BufferedReader` i `` io.TextIOWrapper.
- Teraz .getinfo () używa dict zamiast sekwencyjnej wyszukiwanie skanowania podczas poszukiwania wpisu archiwum. Przyspiesza to prococessing dla archiwów, które mają wiele wpisów.
- rarfile.UNICODE_COMMENTS opcji dekodowania zarówno archiwum i zgłaszać uwagi do Unicode. Wykorzystuje TRY_ENCODINGS do listy kodowania, aby spróbować. Jeśli wyłączona, komentarze są pozostawione jako ciągi bajtów. Domyślnie: 0
- Opcja rarfile.PATH_SEP zmienić separator ścieżki. Domyślnie:. R '& # x5c;', ustaw rarfile.PATH_SEP = '/' do compatibe z ZipFile
- Opcja rarfile.USE_DATETIME przekonwertować znaczniki czasu do obiektów datetime. Domyślnie: 0, znaczniki czasu są krotki .
- rarfile.TRY_ENCODINGS opcję, aby strojenia próbował listę kodowania.
- Porządkowanie RarInfo fiels lepiej występów pól ZipFile-kompatybilne.
- Standardowe regtests, aby upewnić się różne funkcje pracy,
- Kompatybilność:
- Spadek RarInfo.unicode_filename, zwykły RarInfo.filename jest już od 2,0 Unicode.
- .read (-1) czyta teraz do EOF. Wcześniej wrócił pusty bufor.
- Poprawki:
- szyfrowane nagłówki pracować z Python 3.x bajtów () i ze starym 2.x modułu SHA.
- Uproszczenie subprocess.Popen () wykorzystanie przy uruchamianiu unrar. Wcześniej próbował optymalizować i obejść błędów OS / Python, ale nie jest to w utrzymaniu.
- Użyj temp plików rar włamać na wieloczęściowych archiwów zbyt.
- Zawsze .wait () na unrar, aby uniknąć zombie
- Konwersja struct.error do BadRarFile
- Podłącz jakieś przecieki FD. Dotknięte. Jython, PyPy
- Zerwane archiwa są traktowane bardziej zdecydowanie.
Metoda
Metoda
Co nowego w wersji 2.2:
- Poprawki:
- Zrelaksowany nazewnictwa głośności. Teraz po prostu oblicza nową nazwę woluminu, znajdując numer w starym i zwiększenie go, bez żadnych oczekiwań, co powinno być, że liczba.
- Pliki z 4G skompresowanych danych w jednym colume były obsługiwane źle. Fix.
- DOS datownika sekundy muszą być pomnożone przez 2.
- Prawidłowe EXTTIME analizy.
- porządki:
- Sprężone rozmiar jest za-objętość, sumują je razem, tak, że użytkownik widzi pełny rozmiar skompresowanych plików podzielony na kilka tomów.
- dumprar. Pokaż nieznane bity
- Użyj struct.Struct () do buforowania rozpakować formatów.
- Wsparcie brakuje os.devnull. (Python 2.3)
Co nowego w wersji 2.1:
- Opis:
- Minimal implmentation dla .extract (), .extractall (), .testrar (). Są to proste skróty do unrar pw.
- Zaakceptuj obiekt RarInfo, gdzie oczekuje się nazwa pliku.
- Dołącz dumprar.py w .tgz. Może być używany do wizualizacji struktury RAR i moduł testowy.
- Obsługa szyfrowanych nagłówki plików.
- Poprawki:
- Nie czytaj obok ENDARC, nie może być dane nie RAR tam.
- RAR 2.x: To nie pisze ENDARC, ale nasz kod wielkość spodziewał. Naprawić.
- RAR 2.x: Wsparcie ponad 200 tomów starym stylu .
- porządki:
- Komentarz obciążenia tylko na żądanie.
- Oczyszczanie wewnętrznych zmiennych konfiguracyjnych. Powinny one mieć nazwy teraz ostateczne.
- .Open ():. Dodaj mode = r argument, aby dopasować ZipFile
- Dokument i komentarze porządki, zminimalizowania powielania.
- Wspólne opakowania na obu plikach skompresowanych i nieskompresowanych, teraz .Open () również nie CRC-kontroli.
Co nowego w wersji 2.0:
- Opis:
- Python 3 wsparcie. Nadal współpracuje z 2.x.
- Analizuje rozszerzonych pól godziny. (.mtime, .ctime, .atime)
- .Open metoda (). To sprawia, że można przetwarzać duże wpisy, które nie pasują do pamięci.
- Obsługuje archiwa zabezpieczone hasłem.
- Obsługa archiwów komentarzy.
- porządki:
- Wykorzystanie modułu subprocess uruchomić unrar.
- .filename zawsze jest ciąg Unicode, .unicode_filename teraz jest przestarzała.
- .CRC jest niepodpisany znowu, jak crc32 python3 () jest niepodpisany.
Komentarze nie znaleziono