在浏览器中运行PHP脚本的奇怪问题

时间:2012-01-23 03:07:09

标签: php python nltk

我正在使用python的nltk来做一些有趣的事情来从php输入字符串,但是我遇到了一些难以输出到浏览器。我的代码如下所示:

system("python test.py command line arguments");

无论我的test.py文件中有什么,它都能在命令行中正确输出。但是,除非存在特定代码,否则在浏览器中它将起作用。

在test.py中:

import string
import sys
from nltk import word_tokenize as wt
from nltk.corpus import wordnet as wn

x = ""
for item in sys.argv: x += item+" "

i = wt(x)
result = ""
wn.morphy(i[0])
print "hello world"

这不会在浏览器中打印“hello world”,但前提是前面的代码行存在。没有

wn.morphy

它会运行。不幸的是我需要使用wn.morphy。为什么这在我的test.py文件中的特定代码行的浏览器中不起作用?我已经关闭了安全模式,这使得我可以使用python输出到浏览器

2 个答案:

答案 0 :(得分:0)

实际上,这个代码在PHP CLI上适用于我,无论我是否包含wn.morphy行,所以我认为您的问题出在其他地方或与版本相关。

您是否记得下载过Wordnet'语料库?如果没有,请运行

>>> import nltk
>>> nltk.download('wordnet')
在Python中

,然后再试一次。我可以看到脚本错误,因为它无法进入语料库。

答案 1 :(得分:0)

错误是什么?可能是由于WordNet的大小(这是相当大的)还是Python / NLTK加载它所花费的时间?实时Web服务器可能会比交互式控制台会话具有更严格的配额。