我正在使用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输出到浏览器
答案 0 :(得分:0)
实际上,这个代码在PHP CLI上适用于我,无论我是否包含wn.morphy
行,所以我认为您的问题出在其他地方或与版本相关。
您是否记得下载过Wordnet'语料库?如果没有,请运行
>>> import nltk
>>> nltk.download('wordnet')
在Python中,然后再试一次。我可以看到脚本错误,因为它无法进入语料库。
答案 1 :(得分:0)
错误是什么?可能是由于WordNet的大小(这是相当大的)还是Python / NLTK加载它所花费的时间?实时Web服务器可能会比交互式控制台会话具有更严格的配额。