php exec输出,php exec缺少输出

我正在尝试执行Python脚本以通过PHP进行POS标记.

但是它没有返回完整的输出.

Python脚本:

import nltk

import sys

text = sys.argv[1]

tokenize_into_words = nltk.word_tokenize(text)

print text

result = nltk.pos_tag(tokenize_into_words)

print result

print "Done!"

PHP脚本

$cmd = 'python /Library/WebServer/Documents/varticle/vcmdpos.py ' . $string2;

$tmp = exec($cmd,$output);

print_r($output);

命令:

python /Library/WebServer/Documents/varticle/vcmdpos.py科学家

观察到的输出:

数组([0] =>科学家)

预期的输出:

数组([0] =>科学家[1] =>“ [(‘Scientists’,’NNS’)]” [2] =>“完成!”)

当我手动运行命令时,大约需要5到10秒才能运行. [这可能是由于进行POS标记或导入nltk所需的时间.]

但是当通过PHP运行时,它立即返回并从nltk.pos_tag或print语句输出,但未返回.

我想念什么吗?

解决方法:

需要在命令中添加2& 1,以获取完整的输出.

这解决了我的问题.

标签:nltk,exec,python,php

来源: https://codeday.me/bug/20191201/2081034.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值