특정 Python 스크립트로 실행할 파일을 두 번 클릭 (Windows 10)

Sep 25 2020

Windows 10에서 지정된 Python 스크립트로 특정 확장자를 가진 파일을 실행할 수 있습니까? 예를 들어, .pickle 파일이 저장되어 있고이를 인쇄하기 위해 간단한 Python 스크립트를 작성했습니다. .pickle 파일을 두 번 클릭하고이를 인쇄하는 Python 스크립트를 실행하고 싶습니다.

이 작업을 성공적으로 수행 한 컨텍스트 메뉴 항목을 만들 수있었습니다. 예를 들어 다음과 같은 간단한 Python 스크립트는 view_pickle_file.py다음과 같습니다.

import pickle
import sys

filename = sys.argv[1]
print(filename)

var = pickle.load(open(filename, 'rb'))

print(type(var))
if type(var) == list:
  print(len(var))
  for ii, value in enumerate(var):
    print(ii, value)
elif type(var) == dict:
  print(len(var))
  for key, val in var.items():
    print(key, val, sep="\t")
elif type(var) == set:
  print(len(var))
  for ii in var:
    print(ii)
else:
  print(var)

input("Press enter")

그리고 Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\.pickle\shell\View\command(기본값) REG_SZ 데이터 값이 있는 레지스트리 키 "C:\Program Files\Python\Python38\python.exe" "C:\Scripts\Python\view_pickle_file.py" "%1":

생성 :

피클 파일을 완벽하게 인쇄합니다.

그러나 이것은 상황에 맞는 메뉴 항목입니다. .pickle 파일을 두 번 클릭하여이 작업을 수행하고 싶습니다. 어떻게할까요? 가능할까요? 아니면 상황에 맞는 메뉴 항목이 내가 얻을 수있는만큼 가깝습니까?

답변

1 harrymc Sep 29 2020 at 16:31

이 레지스트리 업데이트를 시도하십시오.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.pickle]
@="python.pickle"

[HKEY_CLASSES_ROOT\python.pickle]
@="Pickle Document"

[HKEY_CLASSES_ROOT\python.pickle\shell]

[HKEY_CLASSES_ROOT\python.pickle\shell\open]

[HKEY_CLASSES_ROOT\python.pickle\shell\open\command]
@="\"C:\\Program Files\\Python\\Python38\\python.exe\" \"C:\\Scripts\\Python\\view_pickle_file.py\" \"%1\""