我在Windows机器上编程,我有一个应用程序,用于读取用户选择的文件。是否可以允许他们双击时直接打开文件。当程序使用cxfreeze“编译”为.exe时,这需要工作。
我真正要问的是: 有没有办法允许用户双击自定义文件(.lpd),当他们执行Windows时启动程序(编译的cxfreeze .exe)并将文件路径作为参数传递。
答案 0 :(得分:2)
Windows将文件与特定程序关联的唯一方法是通过扩展程序,因此只有当您的文件具有唯一的扩展名时(这看起来可能是这样),这才有效。因此,您的用户需要在其计算机上设置关联,具体取决于Windows的版本。例如,在Windows 7中,可能会通过Control Panel\All Control Panel Items\Default Programs\Set Associations
。
您可以在他们的系统上自动设置此关联(可能通过编辑Windows注册表),但这通常在安装期间完成,您应该首先要求用户执行此操作。
答案 1 :(得分:0)
我使用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()