Как включить отдельное действие для двойного щелчка и перетаскивания для файлов PythonPython

Программы на Python
Anonymous
 Как включить отдельное действие для двойного щелчка и перетаскивания для файлов Python

Сообщение Anonymous »

У меня есть простой скрипт Python, и я хочу включить перетаскивание и сбрасывание файлов в скрипт Python в Windows 11. Это работает. Но только если я установил Python Launcher в качестве приложения по умолчанию для типов файлов Python.
Я хочу запустить свой редактор при двойном щелчке.
Моя идея состоит Мой редактор, если параметры не передаются, и запустите его с помощью пусковой установки Python, если он имеет параметры.
Я не могу заставить его полностью работать. Либо сценарий Python не запускает, или создается окно, которое не закрывается автоматически.

Код: Выделить всё

import sys

if __name__ == "__main__":
if len(sys.argv) > 1:
with open("test.txt", 'w', newline='\n') as f:
f.write("file names:")
f.write("\n")

for file_path in sys.argv[1:]:
f.write(file_path)
f.write("\n")

else:
with open("test.txt", 'w', newline='\n') as f:
f.write("no file names")
f.write("\n")
< /code>
python_drag.cmd:
@echo off

if not "%~2"=="" (
::arguments detected calling it with python
START python.exe "%1" %*
) else (
::no arguments detected opening it with editor (vscode)
START /B code %1
)
< /code>
Ключ в компьютере \ hkey_classes_root \ python.file \ shell \ open \ command < /code>
установлен на
"path_to\python_drag.cmd" "%L" %*< /code> < /p>
Это не работает, поскольку не запускает скрипт. < /p>
Я также пытался:
cmd /c call "‪path_to\python_drag.cmd" "%1" %*

Я не знаю, почему это не работает. Я пробовал много комбинаций разных команд.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ython-file

Вернуться в «Python»