Мне нужно придумать формат файла для нового приложения, которое я пишу. Этот файл должен содержать кучу других текстовых файлов, которые в основном являются текстовыми, но могут быть и другими форматами. Естественно, сжатый файл tar, похоже, соответствует счету. Проблема заключается в том, что я хочу, чтобы иметь возможность получить некоторые данные из файла очень быстро, и получение только определенного файла из файла tar.gz, кажется, занимает больше времени, чем нужно. Я предполагаю, что это потому, что он должен распаковать весь файл, хотя я просто хочу его. Когда у меня только обычный несжатый tar-файл, я могу быстро получить эти данные. Допустим, файл мне нужно быстро называется data.datсжатый архив с быстрым доступом к отдельному файлу
Например командование ...
tar -x data.dat -zf myfile.tar.gz
... это то, что занимает гораздо больше времени, чем хотелось бы.
Файлы MP3 имеют данные id3 и jpeg-файлы имеют exif-данные, которые можно быстро считывать, не открывая весь файл. Я хотел бы, чтобы мой файл data.dat был доступен аналогичным образом.
Я думал, что могу оставить его несжатым и отдельно от остальных файлов в myfile.tar.gz Тогда я мог бы создать tar-файл data.dat и myfile.tar.gz, а затем, надеюсь, эти данные можно было бы получить быстрее, потому что оно находится во главе внешнего tar-файла и несжато.
Звучит ли это правильно? ... помещаем сжатый tar внутри tar-файла?
В принципе, мне нужно иметь архивный тип файла с быстрым доступом к одному конкретному файлу. Tar это прекрасно, но я также хотел бы, чтобы эти данные сжались, и как только я это сделаю, у меня больше нет быстрого доступа. Есть ли другие форматы архивов, которые дадут мне быстрый доступ, который мне нужен?
В качестве примечания, это приложение будет написано на Python. Если решение требует повторного изобретения колеса с моим собственным двоичным форматом, я знаком с C и у меня не возникнет проблемы с написанием модуля Python в C. Idealy. Я бы просто использовал tar, dd, cat, gzip и т. Д. ,
Спасибо, ~ Эрик
«Мне нужно придумать формат файла для нового приложения, которое я пишу». настолько явно ошибается, ничто другое не имеет значения. Удачи. – msw
@msw, учитывая контекст вопроса (в том числе «Существуют ли другие форматы архивов, которые дадут мне тот быстрый доступ, который мне нужен»), ясно, что он не хочет изобретать новый формат сжатия. –