Перетащите курсор на скрипт Python в проводнике Windows
-
02-07-2019 - |
Вопрос
Я хотел бы перетащить свой файл данных в скрипт Python и заставить его обработать файл и сгенерировать выходные данные.Скрипт Python принимает имя файла данных в качестве параметра командной строки, но проводник Windows не позволяет скрипту быть целью удаления.
Есть ли какая-то конфигурация, которую нужно где-то выполнить для этой работы?
Решение
Конечно.Из статья о бессмысленных технологиях под названием "Сделать скрипты Python удаляемыми в Windows", вы можете добавить обработчик удаления , добавив раздел реестра:
Вот файл импорта реестра, который вы можете использовать для этого.Скопируйте следующее в файл .reg и запустите его (Убедитесь, что ваши расширения .py сопоставлены с файлом Python.).
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler] @="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Это заставляет скрипты Python использовать обработчик удаления WSH, который совместим с длинными именами файлов.Чтобы использовать обработчик короткого имени файла, замените GUID на 86C86720-42A0-1069-A2E8-08002B30309D
.
Комментарий в этом сообщении указывает, что можно включить удаление "без консольных файлов Python (.pyw
)" или "скомпилированные файлы Python (.pyc
)" используя Python.NoConFile
и Python.CompiledFile
классы.
Другие советы
напишите простой сценарий командной строки (file.bat
)
"C:\python27\python.exe" yourprogram.py %*
где %*
обозначает все аргументы, которые вы передаете скрипту.
Теперь перетащите ваши целевые файлы на file.bat
икона.
С установленным python - по крайней мере, 2.6.1 - вы можете просто перетащить любой файл в скрипт python.
import sys
droppedFile = sys.argv[1]
print droppedFile
sys.argv[0]
это сам сценарий. sys.argv[n+1]
это файлы, которые вы удалили.
Попробуйте использовать py2exe.Используйте py2exe для преобразования вашего скрипта на python в исполняемый файл Windows.Затем вы должны иметь возможность перетаскивать входные файлы в свой скрипт в проводнике Windows.Вы также должны иметь возможность создать ярлык на своем рабочем столе и перенести на него входные файлы.И если ваш скрипт на Python может принимать список файлов, вы должны иметь возможность перетаскивать несколько файлов в свой скрипт (или ярлык).
Создайте ярлык для этого файла.В случае, если у вас нет файлов python open .py по умолчанию, перейдите в свойства ярлыка и отредактируйте цель ярлыка, чтобы включить версию python, которую вы используете.Например:
Цель:C:\Python26\python.exe < кратчайший целевой путь>
Я публикую это, потому что я не хотел редактировать реестр, и обходной путь .bat у меня не сработал.
1).создать ярлык для .py
2).щелкните правой кнопкой мыши -> свойства
3).префикс "Target:" с "python", поэтому он запускает .py в качестве аргумента в команде python
или
1).создайте файл .bat
2).питон some.py %*
эти сокращенные версии проще всего для меня делают то, что я делаю
в противном случае я бы преобразовал его в файл .exe, но предпочел бы просто использовать java или c / c ++