1

У меня есть простой WAV-плеер, написанный на Python, но единственный способ воспроизвести файлы на нем - это запустить скрипт и открыть файл через диалог файлов.

Как сделать так, чтобы скрипт открывал файлы, например: щелкните правой кнопкой мыши файл -> открыть с помощью -> мой скрипт?

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

2 ответа2

2

Вы не указали свою ОС, поэтому этот ответ относится только к Windows:

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

тем не менее, вам нужно будет кодировать ваш скрипт, чтобы он принимал параметры консоли (то есть вы можете набрать в консоли py myscript.py -filetoplay.wav -myargs)

Вы можете сделать это с помощью модуля sys (sys.argv может быть оценен для получения списка параметров, начиная с имени файла), но подробный ответ на этот вопрос здесь не относится. спросите на stackoverflow, если вам нужна помощь с этим.

в любом случае, после того, как вы запустили это, вы можете ввести regedit в cmd. откроется реестр, и вы можете перейти к HKEY_CLASSES_ROOT\SystemFileAssociations\.wav\shell\Open with MyScript\command(если его там нет, создайте его с помощью New-> Key и, соответственно, вызовите их, последним из которых является "команда").

затем вы выбираете "команду" и щелкните правой кнопкой мыши в белом поле справа. там вы создаете новое значение типа REG_SZ . Выберите его, щелкните правой кнопкой мыши- > Изменить значение, а затем вставьте его как значение: "C:\PathToYourPython\pythonw.exe" "C:\Path\to\MyScript.pyw" "%1"

Да, со всеми кавычками.

"%1" будет преобразован в "path\of\filetoplay.wav"

Надеюсь, это поможет.

1

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

Кроме того, вы можете попробовать сбросить файл в основном файле Python, как если бы вы ввели python mypythonscript.py C:\path\to\my\file.txt в командной строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .