我写了一个python,它从命令行获取值并进行处理。 使用raw_input()可以获取5个变量,每种情况下都会返回到屏幕。
我希望整个交互通过调用我的python程序的php程序进行。 他们应该多次交换变量。
我已经阅读了可能的解决方案,例如通过shell和传递参数通过php运行python。 但是我不确定一旦启动我的python程序,我如何能继续简单地向它发送变量,以便我的python程序通过从php获取变量来达到其逻辑终点。
exec是一个很好的开始,您需要尝试一些事情。
您提到Python程序希望继续接收变量。 假设PHP程序预先知道这些变量是什么,是否公平? 如果这些arent非常多,也许您可以将它们作为数组提供? 例如,对您的exec()调用进行建模以适合此要求? 还是将它们写入一个文件中,然后可由Python程序读取? 还是使用数据库? 在很大程度上取决于您听起来最合理的选择。
感谢Dhruv。 文件和数据库是确定的选项。 我在想更快更轻的东西。 所有变量都是字符串,但是实际值将被动态接收,因此需要经常将它们传递给python。
您必须使用IPC机制,例如文件,管道,命名管道,共享内存,...
http://en.wikipedia.org/wiki/进程间通信
You can generally communicate between languages by using common
language formats, and using stdin and stdout [pipe] to communicate
the data.
来自:http://www.stackoverflow.com/questions/14047979/executing-python-script-in-php-and-exchangeing-data-between-the-two
谢谢拉尔夫。 是的,我已经看到了这个答案。 它通过json发送初始数据,但是我不确定两个程序之间的后续数据交换。