Где хранятся упакованные файлы

Обновлено: 04.07.2024

Команды pack и unpack в основном используются для создания или чтения двоичных структур, чтобы быть совместимыми, скажем, с программами C. Кроме того, функция unpack часто может быть более удобной, чем функция substr (раздел ), для работы с некоторыми типами данных, ориентированных на столбцы.

Обе функции принимают в качестве первого аргумента строку символов, описывающую формат данных, которые нужно упаковать или распаковать. Функция pack принимает список значений для упаковки в качестве второго аргумента и возвращает скалярную строку символов, содержащую упакованные значения. Функция распаковки принимает в качестве второго аргумента строку символов, содержащую значения для распаковки, и возвращает список отдельных значений, извлеченных из строки. Полный список возможных символов для использования в качестве первого аргумента этих функций можно найти в онлайн-документации (через perldoc -f pack ); В таблице перечислены некоторые часто используемые коды. Одно предостережение относительно всех форматов кодирования, кроме ASCII и uuencoding, заключается в том, что эти форматы представляют собственный двоичный формат для типа данных на компьютере, на котором работает perl — если вы создаете упакованные строки, они могут не распаковываться должным образом на другом типе компьютера. . Использование их для упаковки и распаковки данных на одном компьютере не должно вызывать проблем.

Таблица: коды символов для упаковки и распаковки
Код Значение Код Значение
a< /TD> строка ASCII, дополненная нулями A строка ASCII, дополненная пробелами
c Символ со знаком C Беззнаковый символ
d Число двойной точности f Число одинарной точности
i Целое число со знаком I Целое число без знака
l Длинное со знаком L Длинное без знака
s Sig ned short S Unsigned short
u< /TD> Закодированная строка @ Заполнение нулями до абсолютной позиции
x Нулевой байт X Резервное копирование байта

Когда вы создаете строку кодов для использования с этими функциями, вы можете дополнительно указать любой из кодов с целым числом повторений или звездочкой ( * ), чтобы указать максимально возможное количество повторений. Каждая комбинация кода и его необязательного счетчика представляет собой порцию данных, которую можно либо закодировать с помощью pack, либо декодировать с помощью unpack. Для иллюстрации рассмотрим проблему разделения разрешений команды ls, представленную в разделе . Мы могли бы извлечь разрешения и имена файлов из каждой строки вывода ls -l с помощью следующего вызова unpack (при условии, что $_ содержит строку вывода ls): Аналогично, три триплета разрешений можно поместить в массив @theperms со следующим вызовом для распаковки:

Функция распаковки может использоваться, помимо прочего, для декодирования незакодированных сообщений. Uuencoding — это метод, который иногда используется для кодирования двоичных файлов, чтобы их можно было безопасно отправлять по электронной почте. (Двоичные файлы используют все 8 битов каждого байта данных, тогда как обычный текст использует только 7 бит, поэтому электронная почта не подходит для отправки двоичных файлов, если они не закодированы должным образом.) Первая строка файла с кодировкой uuencoded состоит из слова begin за которым следует восьмеричный код разрешения файла и имя файла; эта информация не должна передаваться функции распаковки. Предположим, у нас есть закодированный uuencoded двоичный файл, хранящийся в текстовом файле binary.uu , и мы хотим извлечь незакодированную форму в имя файла, указанное в первой строке файла. Следующий код выполнит эту работу: создав соответствующую строку "begin" и используя функцию pack с кодом u*, можно использовать аналогичный подход для создания файла в кодировке uuencoded, подходящего для отправки по электронной почте.

Blender имеет возможность инкапсулировать (включать) различные типы данных в blend-файл, который обычно сохраняется вне blend-файла. Например, текстура изображения, являющаяся внешним файлом изображения, может быть помещена «внутри» blend-файла. Это позволяет совместно использовать весь проект в виде одного файла вместо, например, архив, содержащий blend-файл и все его зависимости.

Вы знаете, что данные упакованы, когда видите маленький значок подарочной коробки, отображаемый рядом с их путем.

Не все внешние файлы можно упаковать

Некоторые обычно тяжелые внешние файлы, такие как видео из редактора последовательностей или фрагменты роликов, нельзя упаковать в blend-файл.

Упаковать данные

Упаковать ресурсы

Файл ‣ Внешние данные ‣ Ресурсы пакета

Отметить все подходящие файлы внешних ресурсов, используемые blend-файлом, как упакованные. Фактическая упаковка произойдет при следующем сохранении blend-файла.

Автоматическая упаковка ресурсов

Файл ‣ Внешние данные ‣ Автоматически упаковывать ресурсы

Если этот параметр включен, все подходящие внешние файлы ресурсов, существующие или добавленные позже, систематически помечаются как упакованные. Как и в случае с Pack Resources, blend-файл должен быть сохранен на диске, чтобы это имело эффект.

Отключение этого параметра ничего не распаковывает, но будущие внешние файлы больше не будут автоматически помечаться как упакованные.

Выборочная упаковка

Один файл можно упаковать, нажав на маленький значок подарочной коробки слева от виджета пути к файлу.

Распаковать данные

Распаковать ресурсы

Файл ‣ Внешние данные ‣ Распаковать ресурсы

Распакуйте все файлы внешних ресурсов, сохраненные в blend-файл.

Параметры

Распаковывает все файлы в том же каталоге, // что и blend-файл, группируя их в соответствующие папки (например, «текстуры»). Однако, если окончательный файл уже существует, он будет использовать этот файл, а не распаковывать его.

Записать файлы в текущий каталог (перезаписать существующие файлы)

Как и в предыдущем варианте, но если окончательный файл уже существует, он будет перезаписан.

Использовать файлы в исходном расположении (создавать при необходимости)

Распаковывает все файлы в исходное расположение. Однако, если окончательный файл уже существует, он будет использовать этот файл, а не распаковывать его.

Записать файлы в исходное расположение (перезаписать существующие файлы)

Как и в предыдущем варианте, но если окончательный файл уже существует, он будет перезаписан.

Отключить автоупаковку, сохранить все упакованные файлы

Деактивирует только параметр Автоматическая упаковка ресурсов.

Выборочная распаковка

Один файл можно распаковать, щелкнув маленький значок подарочной коробки слева от виджета пути к файлу.

Параметры

Просто пометьте файл как распакованный, без фактической записи или повторной загрузки с диска.

Распаковать файл по предложенному пути, который является локальным для текущего blend-файла.

Если исходный путь к файлу все еще существует, пометьте его как неупакованный. Обратите внимание, что он не будет автоматически перезагружен с диска. (отличается) или (идентично) показывает различие между упакованной версией и версией на диске.

Если исходный путь к файлу все еще существует, но отличается от упакованной версии, пометьте его как нераспакованный и перезапишите файл на диске упакованной версией.

Если исходный путь к файлу не существует, пометьте его как неупакованный и запишите на диск.

Упаковать связанные библиотеки

Файл ‣ Внешние данные ‣ Упаковать связанные библиотеки

Отметить все файлы связанных библиотек в текущем blend-файле как упакованные. Фактическая упаковка произойдет при следующем сохранении blend-файла.

Распаковать связанные библиотеки

Файл ‣ Внешние данные ‣ Распаковать связанные библиотеки

Распакуйте все используемые файлы связанных библиотек из этого blend-файла.

© Copyright: Эта страница находится под лицензией CC-BY-SA 4.0 Int. Лицензия. Последнее обновление: 28 марта 2022 г.

При работе в Blender мы часто полагаемся на внешние данные. В первую очередь в виде текстур и файлов изображений. Если нам нужно, чтобы проект Blender был автономным, упаковка этих внешних файлов — вот как мы этого достигаем.

Упаковка внешних данных или файлов означает, что мы берем внешние файлы, от которых зависит наш файл наложения, и копируем их в файл наложения, чтобы ему не приходилось полагаться на внешние файлы. Для этого перейдите в Файл->Внешние данные->Автоматически упаковывать в .blend и нажмите Ctrl+S, чтобы сохранить файл.

В этой статье мы рассмотрим, что происходит внутри, когда мы упаковываем файлы. Как упаковать отдельные файлы и как их распаковать, а также несколько других сценариев и советов по упаковке внешних файлов.

Что такое пакет внешних данных и когда они полезны?

Blender может взять все или некоторые внешние файлы, от которых зависит blend-файл, и поместить их внутрь blend-файла. Это то, что мы называем упаковкой внешних данных или упаковкой внешних файлов.

Когда мы говорим о внешних файлах, мы имеем в виду только изображения. Это могут быть текстуры или карты текстур, hdri-изображения, эталонные изображения и т. д. На самом деле любые изображения.

Эта функция полезна, когда мы хотим, чтобы blend-файл был автономным. Blend-файл, который использует внешние изображения и по той или иной причине больше не может найти эти внешние изображения, будет отображать сплошной розовый цвет вместо текстуры изображения, чтобы художник знал, что файл изображения отсутствует.

Таким образом, в сценарии, когда мы хотим поделиться файлом blend с кем-то еще, может быть полезно поддерживать внешние данные, чтобы иметь возможность отправить им весь проект в виде одного файла blend и запечь все зависимости в файл, чтобы получатель мог открыть файл смешивания без проблем с отсутствующими текстурами.

Когда следует избегать упаковки внешних данных?

В некоторых случаях мы хотим избежать упаковки внешних данных. Например, упаковка большого количества изображений в blend-файл часто может привести к исключительно большому размеру файла. Возможно, мы не сможем передать файл или управлять им должным образом из-за огромного размера.

Кроме того, когда мы упаковываем внешние файлы, blender копирует файлы в blend-файл, из-за чего он занимает больше места, чем просто получение изображений из исходных мест.

Но самое важное, о чем следует помнить, – это последовательно управлять файлами. Если вы иногда упаковываете, а иногда нет и храните файлы в разных местах, работа может быстро стать головной болью.

Упаковать и распаковать все файлы в blend-файл

Чтобы упаковать и распаковать все изображения и текстуры, необходимые для blend-файла, вы можете перейти в файл->Внешние данные и выбрать "упаковать все в .blend" или "распаковать все в файлы"

Если вы решите распаковать, у вас будет несколько вариантов.

Если вы затем выберете любую из альтернатив "текущего каталога", Blender создаст папку с именем "текстуры" в вашей текущей папке и сохранит текстуры там.

Разница между этими двумя вариантами заключается в том, что "использовать файлы в текущем каталоге" создаст упакованный файл только в том случае, если его там еще нет, а "записать файлы в текущий каталог" перезапишет любые существующие файлы распакованным файлом.< /p>

Использовать и записывать файлы в исходное расположение будет смотреть на путь к файлу, из которого файл был изначально упакован, и использовать этот путь для размещения распакованных файлов. Параметр записи перезапишет, а параметр создания создаст файл только в том случае, если он еще не находится в этом месте.

Отключение автоматической упаковки, сохранение всех упакованных файлов сделает именно это. Автоматическая упаковка файлов будет отключена, но распаковка уже упакованных файлов не производится.

Remove pack удалит упакованные файлы из blend-файла.

Упаковать отдельные файлы в blend-файл

Мы также можем упаковывать отдельные файлы вместо включения и отключения функции автоматической упаковки, если у нас есть особые требования к упаковке.

Мы можем сделать это на панели свойств, где у нас есть слот для ввода изображения. В приведенном ниже примере я использовал пустой файл с прикрепленным фоновым изображением. Пока используемый файл изображения не упакован, появится значок, который позволит нам упаковать это изображение в blend-файл.

В редакторе шейдеров, если мы хотим упаковать файл, выберите узел, который его содержит, и перейдите на вкладку узла на правой боковой панели. Поднимите его с помощью горячей клавиши N, если его там нет. Затем перейдите в свойства и найдите слот изображения со значком в виде квадратика. Щелкните ее, чтобы упаковать отдельный файл текстуры.

Когда использовать абсолютные и когда относительные пути к файлам в Blender?

Короче говоря, мы используем относительные пути к файлам, когда внешние файлы находятся в той же папке или подпапке, что и файл .blend. Если внешний файл находится в другом месте, например в библиотеке ресурсов на жестком диске, мы используем абсолютный путь к файлу.

Относительный путь к файлу начинается с расположения файла blend. Таким образом, если мы переместим blend-файл или файл, который пытаемся найти по отдельности, мы не сможем правильно указать источник файла. Но если мы переместим blend-файл и внешний файл вместе, мы все равно сможем найти внешний файл из blend-файла.

Относительное расположение между ними не изменилось.

С другой стороны, если мы используем исходные или внешние файлы из библиотеки ресурсов, мы не можем перемещать файл наложения и файл ресурса вместе по отношению друг к другу. В этих случаях мы используем абсолютный путь. Абсолютный путь начинается с местоположения жесткого диска. В Windows это может быть, например, C:. На Mac и Linux мы начинаем с / (одиночная косая черта). Высшая точка в файловой системе.

С абсолютным путем к файлу мы можем переместить файл наложения и по-прежнему находить файлы из внешних источников, поскольку мы всегда начинаем с самой высокой точки в файловой системе, а расположение файла наложения не имеет значения.

Заключительные мысли

В этой статье мы рассмотрели, что такое упаковка и как она работает. В чем разница между относительным и абсолютным путем к файлу, и мы научились их распознавать.

Меню файл->Упаковать внешние данные — это меню, которое следует помнить при работе с упакованными файлами.

Человек, работающий над ноутбук.

Место в цифровом хранилище всегда в цене, поэтому полезно знать, как упаковывать данные в пакеты еще меньшего размера. Короче говоря, сжатие файлов позволит вам освободить большие куски места.

И Windows, и macOS поставляются со встроенными инструментами для сжатия ваших файлов, и если это не поможет, есть также множество сторонних программ, которые сделают эту работу более комплексной.

Как работает сжатие файлов

Алгоритмы сжатия, используемые инструментами сжатия файлов, сложны и эффективны, но принцип, лежащий в их основе, понять несложно. Представьте себе файл, состоящий из семи букв «А» подряд, который будет выглядеть так: «ААААААА». Вы можете сжать это, чтобы занимать меньше места, заменив эти семь символов чем-то вроде «7A».

Некоторые форматы делают это автоматически. Цифровые фотографии и музыка хорошо поддаются быстрому и простому сжатию, потому что многие данные можно вырезать незаметно для глаз и ушей. Вот почему такие файлы, как JPEG и MP3, могут сделать ваши фотографии и аудио легкими и маленькими.

При открытии сжатого файла процесс должен происходить в обратном порядке — ваше устройство должно интерпретировать «7A» как «AAAAAAAA». Вот почему эти документы открываются дольше, и почему люди используют сжатие для файлов, которые они хотят сохранить, но не нуждаются в частом доступе. В качестве дополнительного бонуса сжатые папки или «архивы» позволяют помещать массу данных в один сжатый пакет, сохраняя порядок и порядок.

Сжатие файлов в Windows и macOS

Две основные операционные системы на рынке имеют встроенные функции сжатия файлов. В проводнике Windows щелкните правой кнопкой мыши файл или папку, затем выберите «Отправить» и «Сжатая (архивированная) папка», чтобы создать новый сжатый архив. Вы можете переименовать его и перетащить на него дополнительные документы и папки, чтобы добавить их в стопку. Чтобы открыть сжатый архив и извлечь его содержимое, просто дважды щелкните его в проводнике. Откроется новое окно, в котором вы сможете увидеть все файлы внутри и некоторую статистику — например, в столбце сжатого размера вы увидите, сколько места вы сейчас экономите.

Выберите один или несколько файлов, перейдите в верхний левый угол окна и нажмите «Извлечь в», чтобы отправить их в определенную папку, или «Извлечь все», чтобы распаковать все сразу. Либо щелкните и перетащите файлы в другое окно проводника или используйте обычные сочетания клавиш копирования (Ctrl+C) и вставки (Ctrl+V), чтобы извлечь файлы из архива, попутно распаковывая их.

Для macOS этот процесс аналогичен. Выберите один или несколько файлов или папок в Finder, затем щелкните их, удерживая нажатой клавишу Ctrl, и выберите в меню параметр «Сжать». Вместе со сжатыми элементами вы получите новый архив, который можно переименовывать и перемещать по мере необходимости.

Чтобы открыть сжатый архив, достаточно дважды щелкнуть по нему. Архив никуда не денется, но вы получите новую несжатую папку со всеми вашими файлами прямо рядом с ней в Finder.

Операционная система Apple не позволит вам легко добавлять файлы в папку, которая уже была сжата, без повторного запуска всего процесса. Это одна из причин, по которой вы можете захотеть перейти на специальную утилиту.

Другие программы сжатия файлов

Windows и macOS предоставляют вам базовые возможности, но другие приложения предлагают более высокий уровень сжатия, а также дополнительные возможности, такие как защита паролем, повышенная безопасность и более широкая поддержка форматов архивов. Если вам нужно упаковать большие объемы данных или вы хотите сэкономить как можно больше места, на них стоит обратить внимание.

WinZip доступен как для Windows, так и для macOS и является одним из старейших и наиболее полных инструментов сжатия. Вы можете попробовать его бесплатно, но через 30 дней он обойдется вам в 40 долларов. Он использует шифрование на банковском уровне, напрямую подключается к учетным записям популярных облачных хранилищ, таких как Dropbox, OneDrive и Google Диск, и включает дополнительные функции, такие как водяные знаки PDF для дополнительной защиты документов.

Затем есть WinRAR, прямой конкурент WinZip, который существует уже несколько десятилетий. Это также стоит 40 долларов, но имеет более длительную 40-дневную бесплатную пробную версию. В обмен на ваши деньги вы получите такие функции, как разные алгоритмы сжатия для разных типов файлов, простое разделение архивов и поддержка широкого формата файлов. Однако это в основном для пользователей Windows, а на Mac доступен только интерфейс командной строки.

WinZip и WinRAR больше подходят для коммерческого или серьезного использования. Но если вы не хотите тратиться и вам нужно больше, чем базовые возможности Windows и macOS, у вас есть пара бесплатных вариантов.

Для Windows существует давняя бесплатная версия 7-Zip с открытым исходным кодом. Эта программа не предлагает такого же широкого набора расширенных функций, как WinZip, или такого же удобного для пользователя интерфейса, но она ничего вам не будет стоить и поддерживает различные форматы сжатия файлов, включая собственный тип файла 7z. .

PeaZip доступен для Windows и совершенно бесплатен.Основное отличие заключается в его интерфейсе, который более стильный и отточенный, чем у 7-Zip. Это еще одна программа, которая поддерживает большое количество форматов сжатия, а также предлагает такие функции, как надежное шифрование и защита паролем для дополнительной безопасности архива.

Дэвид Нилд (David Nield) — независимый участник Popular Science. Он создает руководства и разъяснения для раздела "Сделай сам" по всем вопросам: от улучшения фотографий на смартфоне до повышения безопасности ноутбука. У него не так много свободного времени, но когда оно есть, он тратит его на просмотр малоизвестных фильмов и долгие прогулки по сельской местности.


Автор:

Используйте Pack and Go, чтобы заархивировать файловую структуру, скопировать полный набор файлов, сохранив ссылки на файлы, на которые есть ссылки, или изолировать группу файлов для экспериментов с дизайном.

Вы можете упаковать файл Autodesk Inventor и все связанные с ним файлы или некоторые из них в одну папку, даже если файлы хранятся в нескольких сетевых расположениях. Вы также можете включить файлы, которые ссылаются на выбранный файл Autodesk Inventor. Когда вы упаковываете файл, файлы копируются в указанное место без изменения или удаления исходных файлов.

Все файлы, на которые есть ссылки, должны быть разрешены с использованием текущего проекта (файл *.ipj). В противном случае важно использовать Редактор проектов, чтобы сделать правильный проект (.ipj) текущим, или в поле «Файл проекта» в диалоговом окне «Упаковать и перейти» перейдите к нужному файлу проекта.

Файлы пакета

  1. Найдите файл для упаковки.
    • В Autodesk Inventor нажмите «Файл», «Сохранить как Pack and Go».
    • Или в Проводнике Microsoft Windows перейдите к файлу, который нужно упаковать. Выберите файл, щелкните правой кнопкой мыши и выберите "Упаковать и отправить".
    • Или запустите сеанс Design Assistant вне Autodesk Inventor. Перейдите к папке, затем щелкните правой кнопкой мыши и выберите Помощник по дизайну.
  2. В диалоговом окне Pack and Go укажите папку назначения для пакета.
  3. Установите путь и параметры упаковки.
  4. Убедитесь, что путь в поле "Файл проекта" указывает на соответствующий файл проекта для выбранного файла. Если нет, нажмите "Обзор", чтобы найти его.
  5. Нажмите «Искать сейчас», чтобы найти файлы, на которые есть ссылки. По завершении поиска отображается общее количество найденных файлов и место на диске.
  6. Нажмите «Старт», чтобы начать упаковку файлов. Когда файлы упакованы, их состояние отображается в поле «Ход выполнения». В папке назначения создаются новый файл проекта и файл журнала, отражающие структуру, выбранную в параметрах упаковки.
  7. Если отображается диалоговое окно «Отсутствующий файл», нажмите «Установить проект». Выберите проект, который будет использоваться для разрешения местоположений файлов, на которые указывают ссылки. Нажмите «Открыть», а затем нажмите «Пуск», чтобы начать поиск.

При отображении диалогового окна «Отсутствующий файл» вы можете выбрать другой файл проекта, вручную найти отсутствующий эталонный файл или щелкнуть, чтобы пропустить его.

Нажатие кнопки "Отмена" в диалоговом окне "Найти отсутствующий файл" отменяет действие и отображает диалоговое окно "Упаковать и перейти" без файлов, на которые есть ссылки.

Файл проекта для хранения местоположений файлов для Pack and Go

Если указанные файлы хранятся в нескольких местах, используйте файл проекта, в котором указаны местоположения файлов. При запуске Pack and Go выбирается активный проект в Autodesk Inventor или Design Assistant.

Если в файле активного проекта указаны не все пути, вы можете выбрать проект с правильными путями. Вы также можете добавлять или удалять файлы из тех, которые упаковываются.

  1. Нажмите "Еще" и используйте настройки, чтобы найти и выбрать новый проект.
  2. Выберите «Папка поиска», чтобы изменить расположение файлов ссылок, а затем нажмите «Искать сейчас», чтобы начать поиск файлов ссылок.
  3. Чтобы добавить или удалить файлы из пакета, установите или снимите флажки с файлов в списке.

Примечание. Если в исходном файле проекта есть вложенные местоположения проекта, в результате использования параметров «Сохранить иерархию папок» и «Собрать рабочие группы» результаты Pack and Go могут иметь ссылки, которые не разрешаются. Возможно, вам придется вручную переместить целевой файл в единую рабочую область.

Читайте также: