如何通过双击直接用Python打开自定义文件?
我在一台Windows电脑上编程,有一个应用程序可以读取用户选择的文件。请问有没有办法让用户在双击文件时直接打开它?这个功能需要在我把程序“编译”成.exe文件后也能正常工作,使用的是cxfreeze。
我真正想问的是:有没有办法让用户双击一个自定义文件(.lpd),然后Windows就会启动我的程序(一个编译好的cxfreeze .exe),并把这个文件的路径作为参数传给它。
2 个回答
2
我使用了PyInstaller来生成exe文件。
这里有一个简单的例子:
import sys
class Test():
def __init__(self, path=None):
super().__init__()
self.path = path
def start(self):
if self.path == None:
pass
else:
print(self.path)
if __name__ == '__main__':
if len(sys.argv) > 1 :
mytest = Test(sys.argv[1])
else:
mytest = Test()
mytest.start()
2
Windows 通过文件的扩展名来判断文件应该用哪个程序打开,所以这只有在你的文件有独特的扩展名时才有效(看起来你的文件可能是这样的)。因此,用户需要在他们的电脑上设置这种关联,而这个设置的方法会根据不同的Windows版本有所不同。例如,在Windows 7中,用户可以通过 控制面板\所有控制面板项\默认程序\设置关联
来进行设置。
你可以在用户的系统上自动设置这种关联(可能需要修改Windows注册表),但通常这是在安装软件时进行的,而且你应该先征得用户的同意。