我正在尝试通过 PHP 执行用于 POS 标记的 python 脚本。但它没有返回完整的输出。
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 语句中输出,而不是返回。
我错过了什么吗?