有没有办法从autohotkey发送一些参数到python。
使用Autohot键我从记事本中读取一些数字并存储在变量中,现在我想将这个数字发送到python代码以进行一些计算。
我的Autohotkey代码是:
controlGetText, telphoneNumber, Edit1, Untitled - Notepad
我想将此telphoneNumber
发送到python文件。
我有办法做到吗?
我是否需要创建python的exe文件然后从autohotkey调用? 例如:
RunWait, C:\Button\button.exe telphoneNumber
或者我是否需要从autohotkey运行命令提示符命令才能运行python程序?类似的东西:
Run Cmd Python C:\Button\button.py telphoneNumber
我不知道哪个是最好的方式,因为我是Autohotkey的新手。
任何建议都将受到赞赏。
编辑:
但是我成功通过使用来自autohotkey的run命令发送参数,该命令将从命令提示符执行python文件。
Run Cmd \k "Python C:\Button\button.py %telphoneNumber%"
但是仍然想知道这是否是正确的解决方案,或者是否有其他解决方案?
答案 0 :(得分:3)
进程间通信能够在Python脚本运行时发送信息。
论坛主题:http://www.autohotkey.com/forum/topic21699.html(该帖子中有一个很好的文档链接)
您也可以使用TCP / IP网络通信(如下面的帖子所示),但这可能不像使用IPC那样灵活。
答案 1 :(得分:2)
你实现它的方式是实现你想要的最简单,也许是最好的方法。
应用程序之间的通信可以使用您可能想象的更多方法来完成,但只要它不必是实时的,您就可以使用参数调用程序,因为它简单可靠。
答案 2 :(得分:0)
Python COM 服务器允许使用 AHK 直接调用 Python 函数(带参数和返回值)。
你可以这样使用它:MsgBox % pythonComServer.method(args)
您不需要已经在运行 python 脚本。
ComObjCreate() 将实例化一个 python 实例。
不知道pywin32在后台是如何进行进程间通信的,但是使用起来很简单。
此处有 2 个示例:Call python function with arguments and get returned value in autohotkey