如何双击直接打开python自定义文件?

时间:2014-03-17 13:16:07

标签: python file python-3.x exe cx-freeze

我在Windows机器上编程,我有一个应用程序,用于读取用户选择的文件。是否可以允许他们双击时直接打开文件。当程序使用cxfreeze“编译”为.exe时,这需要工作。

我真正要问的是: 有没有办法允许用户双击自定义文件(.lpd),当他们执行Windows时启动程序(编译的cxfreeze .exe)并将文件路径作为参数传递。

2 个答案:

答案 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()