Как использовать Python для создания приложения, которое можно использовать для открытия других файлов?

avatar
Matthew B
9 августа 2021 в 02:23
161
1
0

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

q||tap``ctrl`l|type`docs.google.com`enter`
a||tap``alt``tab`
z||quit

Вот main.py, как видите, я просто импортирую файл .pog, чтобы использовать его в своей программе

import monitor

with monitor.Monitor.from_file('demo.pog') as monitor:
  while monitor.running:
    'vibe in the background'

С этим сложно работать, так как каждый раз, когда я хочу использовать другой набор ярлыков, мне приходится либо переписывать demo.pog, либо открывать main.py и менять каталог открываемого файла .pog.

Я хотел бы иметь возможность щелкнуть правой кнопкой мыши файл .pog и выбрать «открыть с помощью main.py» так же, как я открывал бы файл в блокноте или в режиме ожидания. Есть ли способ настроить файл python, чтобы он мог открывать другие файлы, подобные этому?

Источник

Ответы (1)

avatar
Kieran Wood
9 августа 2021 в 02:37
1

Лучшим вариантом будет превратить файл python в исполняемый файл с помощью pyinstaller. Это в основном позволит вам превратить ваш файл .py в .exe в Windows или обычный двоичный файл в macos/linux.

Основное использование pyinstaller

Самый простой способ сделать это — установить его:

pip install pyinstaller

Затем запустите его над вашим файлом, указав, что вы хотите, чтобы на выходе был один .exe файл:

pyinstaller --onefile yourfile.py

Там будет папка внутри везде, где yourfile.py называется /dist, а внутри будет .exe или двоичный файл.

Получение двоичного кода для распознавания расширения

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

Windows

В Windows вы можете просто щелкнуть файл правой кнопкой мыши и выбрать Open With...: Open With Context menu

затем прокрутите вниз, чтобы найти Look for another app on this PC и перейдите к новому файлу .exe, который вы создали с помощью Pyinstaller:

Set default application extension handler

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

MacOS

У меня нет Mac, но вот первые два руководства, которые я нашел в Google:

Линукс

Это меняется в зависимости от дистрибутива Linux. Я бы порекомендовал обратиться на форум сообщества, чтобы задать этот вопрос, потому что даже в похожих дистрибутивах есть пользовательские реализации, которые делают это «легче»

.