Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 27, 2022 18:56:33

stanislavdszvzdxfveszdv
Зарегистрирован: 2022-04-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

CGI скрипт с библиотекой NLTK

Я хочу токенизировать(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

Отредактировано stanislavdszvzdxfveszdv (Апрель 27, 2022 19:07:18)

Офлайн

#2 Апрель 28, 2022 02:41:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

CGI скрипт с библиотекой NLTK

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



Отредактировано py.user.next (Апрель 28, 2022 02:42:19)

Офлайн

#3 Апрель 28, 2022 17:31:03

stanislavdszvzdxfveszdv
Зарегистрирован: 2022-04-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

CGI скрипт с библиотекой NLTK

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.

Офлайн

#4 Апрель 29, 2022 02:07:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

CGI скрипт с библиотекой NLTK

stanislavdszvzdxfveszdv
Но никак не получается добиться того, чтоб получать текст из веб
Ну, ты сделал вот то, что я тебе сказал? Что вывело?

stanislavdszvzdxfveszdv
С функцией я попробовал варианты вроде
Я тебе написал вариант.



Офлайн

#5 Апрель 29, 2022 13:33:51

stanislavdszvzdxfveszdv
Зарегистрирован: 2022-04-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

CGI скрипт с библиотекой NLTK

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’


Отредактировано stanislavdszvzdxfveszdv (Апрель 29, 2022 13:34:34)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version