我正在编写一个python脚本,它在他的标准输入上接收几个参数。 我使用raw_input()函数,它适用于firsts参数,但在while循环中调用时完全冻结。你知道吗
这是我的密码:
def launch_trade(logger):
Kerviel = Trader()
param = raw_input() #Works fine
Kerviel.Capital = float(param)
param = raw_input() #Works fine
Kerviel.NbDays = int(param)
param = raw_input() #Works Fine
while (param != '--end--'):
Kerviel.action(float(param), logger)
Kerviel.Cours.append(param)
param = raw_input() #Here it infinite wait
实际上,当我自己在控制台中发送所有参数时,这个程序就工作了。但是它应该由一个php脚本调用,该脚本在他的stdin上发送参数。你知道吗
为什么最后一个原始输入()在php脚本发送参数时不起作用?你知道吗
谢谢你的回答,很抱歉英语不好。你知道吗
每个
input
或raw_input
调用都会等待以'\n'结尾的行。实时用户点击以Enter
键结尾的键。程序必须将字符串发送到stdout,连接到stdin,以'\n'结尾。所以问题一定是php程序没有发送足够的信息,或者不是它发送的所有信息都能到达python程序。如果是后者,则可能是php程序需要“flush”stdout将最后一个字符串推送到python。当文件关闭时,flush是自动的,但是stdout通常不会关闭。你知道吗相关问题 更多 >
编程相关推荐