Изучение различных методов извлечения URL-адресов типов файлов в macOS

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

Метод 1: использование терминала
Терминал в macOS предоставляет мощный интерфейс командной строки, который можно использовать для извлечения URL-адресов типов файлов. Мы можем использовать команду mdls, что означает «список метаданных», для получения информации о файле, включая его тип URL. Откройте Терминал и выполните следующую команду:

mdls -name kMDItemContentTypeTree <path_to_file>

Замените <path_to_file>фактическим путем к вашему файлу. Эта команда отобразит URL-адрес типа файла, который представляет его тип файла в иерархической структуре.

Метод 2: Рабочий процесс Automator
macOS включает встроенный инструмент автоматизации Automator, который позволяет создавать собственные рабочие процессы. Мы можем создать рабочий процесс Automator для извлечения URL-адресов типов файлов. Выполните следующие действия:

  1. Запустите Automator из папки «Приложения».
  2. Выберите «Быстрое действие» в качестве типа документа.
  3. В строке поиска введите «Получить метаданные файла» и перетащите его в область рабочего процесса.
  4. Добавьте действие «Запустить AppleScript» из библиотеки.
  5. Замените сценарий по умолчанию следующим кодом:
on run {input, parameters}
    set theFile to POSIX path of (input as string)
    set fileTypeURL to (do shell script "mdls -name kMDItemContentTypeTree " & quoted form of theFile)
    return fileTypeURL
end run
  1. Сохраните рабочий процесс под подходящим именем, например «Извлечь URL-адрес типа файла».
  2. Теперь щелкните правой кнопкой мыши любой файл, перейдите в меню «Быстрые действия» и выберите новый созданный рабочий процесс. В диалоговом окне отобразится URL-адрес типа файла.

Метод 3: создание сценариев Python
Если вы предпочитаете использовать Python, вы можете извлечь URL-адреса типов файлов с помощью библиотеки pyobjc, которая предоставляет привязки для платформ macOS. Установите pyobjcс помощью менеджера пакетов pip. Затем используйте следующий фрагмент кода:

import objc
from Foundation import NSURL
from LaunchServices import (
    LSCopyItemInfoForURL,
    kLSRequestAllInfo,
    kLSItemContentTypeTree,
)
def get_file_type_url(file_path):
    url = NSURL.fileURLWithPath_(file_path)
    _, file_info, _ = LSCopyItemInfoForURL(url, kLSRequestAllInfo, None)
    type_url = file_info.get(kLSItemContentTypeTree)
    return type_url
# Usage example
file_path = "/path/to/your/file"
type_url = get_file_type_url(file_path)
print(type_url)

Этот скрипт Python использует платформу Launch Services для извлечения URL-адреса типа файла на основе пути к файлу.

Извлечение URL-адресов типов файлов в macOS необходимо для различных операций, связанных с файлами. В этой статье мы рассмотрели три различных метода: использование терминала, создание рабочего процесса Automator и использование сценариев Python с библиотекой pyobjc. Используя эти методы, вы можете расширить возможности обработки файлов в приложениях macOS.