怎么让一个python脚本双击直接运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么让一个python脚本双击直接运行相关的知识,希望对你有一定的参考价值。

参考技术A Linux系统里面,在命令行下面执行下面命令.
chmod +x test.py
这样test.py脚本就有了"可执行"的属性,在GUI里面就能双击运行了.

windows系统里面,如果你已经安装了python,那么直接双击,脚本是会运行的.不过有可能你直接看不到结果.本回答被提问者和网友采纳

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

【中文标题】如何双击直接用python打开自定义文件?【英文标题】:How can I directly open a custom file with python on a double click? 【发布时间】:2014-03-17 13:16:06 【问题描述】:

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

我真正要问的是: 有没有办法让用户双击自定义文件(.lpd),当他们这样做时,windows 会启动程序(编译的 cxfreeze .exe)并将文件路径作为参数传递给它。

【问题讨论】:

我在 cx_Freeze GitHub 存储库中打开了一个请求此问题的问题:Documentation on how to make a file association in MSI for Windows · Issue #274 · anthony-tuininga/cx_Freeze 【参考方案1】:

Windows 将文件与特定程序关联的唯一方法是通过它们的扩展名,所以这仅在您的文件具有唯一扩展名时才有效(看起来可能是这样)。因此,您的用户需要在他们的机器上设置关联,这取决于 Windows 的版本。例如,在 Windows 7 中,它可能会通过Control Panel\All Control Panel Items\Default Programs\Set Associations

您可以在他们的系统上自动设置此关联(可能通过编辑 Windows 注册表),但这通常会在安装过程中完成,您应该先征得用户的许可。

【讨论】:

是的,但是当我们设置 assoc 并且用户双击时,我如何获取文件路径 我相信它是作为第一个(也是唯一一个)参数传递给您的程序的。所以在python中,它可能是sys.args[1]【参考方案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()

【讨论】:

以上是关于怎么让一个python脚本双击直接运行的主要内容,如果未能解决你的问题,请参考以下文章

怎样才能让python 脚本像shell命令一样直接运行并可以接收参数

如何用python写ios的游戏脚本?

怎么在python脚本中调用其它的python脚本运行?

python自动运行cmd,bat文件

运行python脚本一闪而过

azkaban怎么在job里面直接调用python脚本啊,我调用shell脚本正常运行,调用python脚本没有运行