2014-11-26 2 views
1

У меня есть следующий файл:Python файл обработано не распаковывает

# ls -lha 
total 2.4M 
drwxr-xr-x. 2 root  root  4.0K Nov 26 19:47 . 
drwxrwxr-x. 5 bshuster bshuster 4.0K Nov 26 19:46 .. 
-rw-r--r--. 1 root  root  2.4M Nov 26 19:26 logs.tar.bz2 

распаковки файла

# tar -xvjf logs.tar.bz2 
/var/log/ 
/var/log/btmp 
/var/log/messages 

однако, когда делать это через tarfile модуль в Python, это не делает много.

# rm -rf var && python 
Python 2.7.5 (default, Nov 3 2014, 14:26:24) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tarfile 
>>> import os 
>>> tar = tarfile.open("logs.tar.bz2") 
>>> tar.extractall('.') 
>>> os.listdir('.') 
['logs.tar.bz2'] 
>>> tar.close() 
>>> os.listdir('.') 
['logs.tar.bz2'] 

что я делаю неправильно?

С наилучшими пожеланиями.

+2

Питон 'tarfile' модуль, вероятно, не прозрачно обрабатывать' 'bzip2' сжимаются tar' файлы. – martineau

ответ

4

Вы должны указать, что bz2 сжатие используется:

tar = tarfile.open("logs.tar.bz2", "r:bz2") 
Смежные вопросы