дважды щелкните файл, чтобы запустить скрипт Python. как получить этот файл в качестве входных данных? - PullRequest
1 голос
/ 27 марта 2012

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

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

Python 2,7 Mac OS X 10,6 и Windows 7

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

есть ли способ сообщить операционной системе открыть все файлы, оканчивающиеся на .paint, с моей программой рисования.

Я не могу сохранить его как .jpg, потому что это не спасет слои или что-либо еще.

1 Ответ

1 голос
/ 25 июня 2012

Не знаю про OSX, но в Windows вы можете сделать это следующим образом:

  1. Создать командный файл
  2. Выберите файл того типа, который вы хотите открыть «автоматически», и используйте «Открыть с помощью ...» в контекстном меню, чтобы выбрать пакетный файл в качестве программы по умолчанию для использования.
  3. Пакетный файл получит переданный аргумент файла «щелкнул», который затем можно передать в сценарий Python в качестве аргумента, а затем получить его как sys.argv [1].

Пример, использующий расширение ".paint", открываемое с использованием гипотетического скрипта Python pypaint.py, может прояснить ситуацию:

run_paint.bat:
@echo off
echo 'clicked file is' %1
python path_to_pypaint.py %1

py_paint.py:
import sys
print 'opening', sys.argv[1]
...