双击文件运行特定的 Python 脚本(Windows 10)

双击文件运行特定的 Python 脚本(Windows 10)

在 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 文件。

但这是一个上下文菜单项。我想双击 .pickle 文件来实现这一点。我该怎么做?可能吗?或者上下文菜单项是我所能得到的最接近的吗?

答案1

尝试这个注册表更新:

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\""

相关内容