2011-12-26 93 views
0

我有一个python脚本:main.py,它执行一个cx_frozen python脚本:test.exe我已经创建。 main.py需要发送变量到test.exe。如果冻结的脚本能够发回变量,那也会很棒。Python,在脚本和.exe之间传递变量

到目前为止,我已经保存了main.py中的.txt文件,并从test.exe端接受它们。但是现在我引入了多线程,我担心test.exe的实例将从用于其他test.exe实例的.txt中收集信息。

我想知道这是否可能?我如何告诉main.py发送变量test.exe的接受它们...,如果有可能,将它们送回在main.py

感谢

回答

1

发送变量的最简单方法到一个子程序是使用命令行参数或环境变量。如果你想双向通信,你可以使用管道传输你当前通过文本文件发送的信息(甚至在Windows上)。 python subprocess(http://docs.python.org/library/subprocess.html)模块非常擅长这种事情。

+0

谢谢,我infact使用子进程打开test.exe,但我没有意识到这是有能力的。我也不知道如何去改变test.exe来接受变量。我会读取子进程,并希望这将有助于 – Rhys 2011-12-26 10:49:23

+0

好吧,如果你不能修改test.exe,那么你的选择是有限的。但除此之外,子进程非常强大,值得仔细阅读。 – 2011-12-26 10:54:58

+0

我可以修改test.exe ...我只是不确定需要修改什么。我可以启动它提示raw_input吗? – Rhys 2011-12-26 10:58:24