Вопрос

Я хотел бы перетащить свой файл данных в скрипт 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 ++

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top