Windows 탐색기에서 Python 스크립트로 드래그 앤 드롭
-
02-07-2019 - |
문제
데이터 파일을 Python 스크립트로 끌고 삭제하고 파일을 처리하고 출력을 생성하고 싶습니다. Python 스크립트는 데이터 파일의 이름을 명령 줄 매개 변수로 받아들이지만 Windows 탐색기는 스크립트가 드롭 대상이되지 않습니다.
이 작업을 위해 어딘가에 수행 해야하는 일종의 구성이 있습니까?
해결책
확신하는. a "Windows에서 파이썬 스크립트 만들기"라는 Mindless Technology 기사, 레지스트리 키를 추가하여 드롭 핸들러를 추가 할 수 있습니다.
다음은이를 수행하는 데 사용할 수있는 레지스트리 가져 오기 파일입니다. 다음을 .reg 파일에 복사하여 실행하십시오 (.py 확장자가 python.file에 매핑되어 있는지 확인하십시오).
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
.
해당 게시물의 주석은 "콘솔 파이썬 파일 없음 (콘솔 파일 파일 없음)을 활성화 할 수 있음을 나타냅니다..pyw
) "또는"컴파일 된 파이썬 파일 (.pyc
) " Python.NoConFile
그리고 Python.CompiledFile
클래스.
다른 팁
간단한 쉘 스크립트 작성 (file.bat
)
"C:\python27\python.exe" yourprogram.py %*
어디 %*
스크립트에 전달되는 모든 인수를 나타냅니다.
이제 대상 파일을 드래그 및 삭제하십시오 file.bat
상.
설치된 Python (2.6.1 이상)을 사용하면 파이썬 스크립트에서 파일을 드래그하고 떨어 뜨릴 수 있습니다.
import sys
droppedFile = sys.argv[1]
print droppedFile
sys.argv[0]
스크립트 자체입니다. sys.argv[n+1]
삭제 한 파일입니다.
py2exe를 사용해보십시오. py2exe를 사용하여 Python 스크립트를 Windows 실행 파일로 변환하십시오. 그런 다음 Windows 탐색기의 스크립트로 입력 파일을 드래그 앤 드롭 할 수 있어야합니다. 또한 데스크탑에서 바로 가기를 만들고 입력 파일을 삭제할 수 있어야합니다. 파이썬 스크립트가 파일 목록을 가져올 수있는 경우 스크립트 (또는 바로 가기)에서 여러 파일을 드래그 앤 드롭 할 수 있어야합니다.
파일의 바로 가기를 만듭니다. 기본적으로 Python Open .py 파일이없는 경우 바로 가기의 속성으로 이동하여 바로 가기의 대상을 편집하여 사용중인 Python 버전을 포함하십시오. 예를 들어:
대상 : c : python26 python.exe <바로 가기 대상 경로>
레지스트리를 편집하고 싶지 않았고 .Bat 해결 방법이 효과가 없었기 때문에 이것을 게시하고 있습니다.
1). .py의 바로 가기를 만듭니다
2). 마우스 오른쪽 버튼을 클릭하십시오 -> 속성
삼). Prefix "Target :"Python "이있는"Python 명령에 대한 인수로 .py를 실행합니다.
또는
1). .BAT를 만듭니다
2). Python some.py %*
이 바로 가기 버전은 내가하는 일을하기에 가장 간단합니다.
그렇지 않으면 나는 그것을 .exe로 변환하지만 오히려 Java 또는 C/C ++를 사용하겠습니다.