Autohotkey和Python之间的通信

11

有没有一种方法可以从Autohotkey向Python发送一些参数。

我使用Autohotkey从记事本中读取一些数字并将其存储在一个变量中,现在我想将这个数字发送到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%"

但仍然想知道这是否是正确的解决方案,或者是否还有其他解决方案?


如果问题编辑中提出的解决方案无效,请尝试这个:https://stackoverflow.com/a/47969817/3154274 - MagTun
为什么要使用Cmd?这不是和运行“Python C:\Button\button.py %telphoneNumber%”一样吗? - nadapez
3个回答

4

2
你实现的方式是最简单、可能也是最好的方法来完成你想要的目标。
应用程序之间的通信可以通过更多的方法实现,但只要不需要实时通信,你可以使用参数调用程序,因为这种方法既简单又可靠。

0

Python COM服务器允许使用AHK直接调用Python函数(带参数和返回值)。
你可以这样使用它:MsgBox % pythonComServer.method(args)

你不需要先运行一个Python脚本。
ComObjCreate()将实例化一个Python实例。

我不知道pywin32在后台是如何完成进程间通信的,但使用它很简单。

这里有2个例子:在Autohotkey中调用Python函数并获取返回值


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接