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