【问题标题】:Calling function defined in exe调用exe中定义的函数
【发布时间】:2009-03-01 04:18:31
【问题描述】:

我需要知道一种从 python 脚本调用 exe 中定义的函数的方法。 我知道如何从 py 文件中调用整个 exe。

【问题讨论】:

    标签: python


    【解决方案1】:

    除非您的 EXE 是 COM 对象,或者像 dll 那样专门导出某些功能,否则这是不可能的。

    对于 COM 方法,请查看以下资源:

    对于dll方法等导出函数,请使用python的win32模块以及Win32 API LoadLibrary及相关函数。

    如果您可以访问 EXE 的源代码:

    如果您可以访问此 EXE 的源代码,您应该定义命令行参数并将其绑定到调用您要调用的函数。在这种情况下,您可以使用 python os.system 调用来启动您的应用程序或 subprocess.call()

    【讨论】:

    • 子进程模块比 os.system 更受欢迎。我知道,这是一个微不足道的抱怨,但我是一个琐碎的人。
    • ctypes 模块也可用于从 dll 调用函数,它很简单,跨平台,并且在标准库中。
    【解决方案2】:

    不确定是否适用于 Windows。但是您可以将 exe 视为 dll(如果导出了函数)。并且它们可以被其他程序使用。

    【讨论】:

      【解决方案3】:

      除非上述可执行文件采用命令行参数来指定要使用的函数,否则我认为这是不可能的。

      话虽如此,如果您创建了 EXE,命令行参数是实现您正在寻找的功能的好方法。

      【讨论】:

        猜你喜欢
        • 2011-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-27
        • 1970-01-01
        相关资源
        最近更新 更多