Как я могу прозрачно смонтировать архив tar.gz с помощью Python?
У меня есть архив tar.gz, содержимое которого должно быть прочитано внешней программой. Содержимое понадобится только временно. Я мог бы просто распаковать его во временную папку и указать туда свою внешнюю программу для чтения. После этого я мог просто снова удалить временную папку. Однако архивы могут быть большими (>1 ГБ при извлечении), поэтому их распаковка займет много места на диске. Мой сервер довольно слаб с точки зрения производительности HD, и я не могу тратить свободное место впустую, но у него много оперативной памяти и мощности процессора.
Поэтому хочу попробовать смонтировать архив прозрачно, не распаковывая его целиком. Я наткнулся на archivemount Который, кажется, делает именно то, что я хочу. Есть ли способ сделать то же, что и archivemount в чистом Python? Не используйте subprocess.call "solutions", пожалуйста. Он должен работать на 64-битном Linux.
Я считаю, что должен быть умный способ использовать tarfile для доступа к содержимому архива, а затем fusepy для создания файловой системы пользовательского пространства, в которой отображается содержимое архива. Кто-нибудь уже собирал эти кусочки? Есть идеи?
Если вы считаете, что это не очень хорошая идея, пожалуйста, оставьте соответствующие комментарии. Если вы знаете, что лучше, пожалуйста, напишите.
tarfile
тоже может быть достаточно. - person njzk2   schedule 30.04.2014tarfile
после раскрытия содержимого. Это tar внутри tar? - person Dan Getz   schedule 30.04.2014tarfile
для доступа к архиву, а затемfusepy
для создания файловой системы. - person Johannes P   schedule 30.04.2014TarFile.extractfile()
недостаточно для того, что вы делаете? - person Dan Getz   schedule 30.04.2014