문제

데이터 파일을 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 ++를 사용하겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top