В Python, как установить ветку ресурса на файл с расширением, чтобы открыть другое приложение под Mac OS X - PullRequest
2 голосов
/ 29 декабря 2011

После создания текстового файла с расширением «.log» (или «.txt») в Mac OS X я использовал его для принудительного открытия в Excel вместо текстового редактора или консоли при нажатии на него, с помощью следующий код:

pathlog=os.path.join(d, "output.log")
log = open(pathlog, "w")
...
log.close()
os.system("SetFile -t 'XLS ' -c XCEL %s" % pathlog)

К сожалению, раньше он работал, но теперь не работает с более новой Mac OS X (я использую 10.6): когда я щелкаю файл, он открывает текстовый редактор. Это правильно работает, если я назову его с неизвестным расширением файла (например, ".logx"). Но я бы хотел сохранить имя расширения «.log», а не переименовывать его в «.xls» или «.csv».

В Finder в свойствах файла я должен выбрать «Всегда открывать с помощью Microsoft Excel.app», который устанавливает ветку ресурса для этого файла.

Итак, мой вопрос: как написать «Всегда открывается с помощью» в python, который добавляет ветвь ресурса к файлу, чтобы заставить его открываться с приложением, отличным от его расширения?

Благодарю вас за помощь, Эрик.

1 Ответ

0 голосов
/ 05 января 2012

TL; DR вы, возможно, не сможете сделать это легко из сценария.

Вот как вы можете сделать это из командной строки. Типы подписей и типов файлов Mac Creator

НО. Snow Leopard изменил работу кодов создателей и типов , поэтому приведенная выше ссылка устарела для 10.6 и 10.7.

...