Найти - Пользователи
Полная версия: CGI скрипт с библиотекой NLTK
Начало » Network » CGI скрипт с библиотекой NLTK
1
stanislavdszvzdxfveszdv
Я хочу токенизировать(nltk.word_tokenize) и вывести полученный из WEB текст, но скрипт либо выдаёт ошибку, либо пустой экран. Что я делаю не так?
Вот код:
#!C:\Users\HP\AppData\Local\Programs\Python\Python310-32\python.exe


import os
import urllib.parse
import nltk
query_dict = urllib.parse.parse_qs(os.environ)
def tknz_wrd(someamountoftext):
return(nltk.word_tokenize(someamountoftext))


print(“Content-Type: text/html\n”)
print (tknz_wrd(someamountoftext))

Если написать print (tknz_wrd(someamountoftext)) то выдаст ошибку(потому что такой переменной нет, но она же не нужна, верно? Я хочу принимать данные из WEB, а не токенизировать статическую стрингу), а если написать print (tknz_wrd) выйдет пустое окно браузера. Кто знает, в чём проблема?
Мне ОЧЕНЬ надо заставить работать функцию def tknz_wrd() в этом CGI скрипте!

Я использую: Apache/2.4.53 (Win64) OpenSSL/1.1.1n PHP/7.4.28
python 3.10.4
py.user.next
stanislavdszvzdxfveszdv
Что я делаю не так?
Напиши функцию
  
def tknz_wrd(word):
    return 'See word ' + word
Дальше запиши строки
  
print("Content-Type: text/html\n")
print(tknz_wrd("Someword"))
И запусти скрипт. Когда слово увидишь в браузере, тогда сможешь эту функцию tknz_wrd() менять дальше, чтобы использовался модуль nltk. Пока что ты именно безо всякого nltk ничего внятного не выводишь, так как не знаешь Python.
stanislavdszvzdxfveszdv
py.user.next
И запусти скрипт. Когда слово увидишь в браузере, тогда сможешь эту функцию tknz_wrd() менять дальше, чтобы использовался модуль nltk. Пока что ты именно безо всякого nltk ничего внятного не выводишь, так как не знаешь Python.

Спасибо за ответ. Я так получаю . (Как убрать кавычки и скобки я знаю). С функцией я попробовал варианты вроде:
def tknz_wrd(word):
return ‘See word ’ + word + nltk.word_tokenize(word)
def tknz_wrd(word):
return ‘See word ’ + nltk.word_tokenize(word)
И т.д. и т.п. Но никак не получается добиться того, чтоб получать текст из веб:
http://localhost/speciallocationforproject/local/tokenize/morgot.py?word=manywords
И обрабатывать его.

P.S. И да - я действительно не шарю в Python.
py.user.next
stanislavdszvzdxfveszdv
Но никак не получается добиться того, чтоб получать текст из веб
Ну, ты сделал вот то, что я тебе сказал? Что вывело?

stanislavdszvzdxfveszdv
С функцией я попробовал варианты вроде
Я тебе написал вариант.
stanislavdszvzdxfveszdv
py.user.next
Что вывело?
Сорян, не увидел, что не вписал сюда вывод из браузера.
И да, я решил проблему. Спасибо за наводку! Вот правильный код:

#!C:\Users\HP\AppData\Local\Programs\Python\Python310-32\python.exe


import os
import urllib.parse
import nltk

query_dict = urllib.parse.parse_qs(os.environ)
input_something = str(query_dict)
def tknz_wrd(someamountoftext):
return(nltk.word_tokenize(someamountoftext))


print(“Content-Type: text/html\n”)

print (tknz_wrd(input_something))

Ручной ввод в строке браузера:
http://localhost/speciallocation/local/tokenize/morgot.py?someamountoftext=Enter%20your%20text%20here

Вывод: ‘Enter’, ‘your’, ‘text’, ‘here’


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB