Я не понял эту ошибку: TypeError: объект 'function' не подходит для моей программы - PullRequest
0 голосов
/ 05 февраля 2019

Я попытался сделать облако слов из страницы википедии.Так что я пишу код, и этот код выдаст ошибку, но я не понял ошибку.

Я поместил mask.png в текущий рабочий каталог, но все равно он выдает ошибку.

import wikipedia
from wordcloud import WordCloud, STOPWORDS
import os
from PIL import Image
import numpy as np

currdir=os.path.dirname(__file__)

def get_wiki(query):
   title=wikipedia.search(query)[0]
   page=wikipedia.page(title)
   return page.content

Вторая строка этой функции (createword) создаст ошибку функции.

def createwordcloud(text):
   mask=np.array(Image.open(os.path.join[currdir,"masks.png"]))
   stopwords=set(STOPWORDS)
   wc=WordCloud(background_color="white",
             mask=mask,
             max_words=100,
             stopwords=STOPWORDS)
   wc.generate(text)
   wc.to_file(os.path.join(currdir,"wc.png"))


createwordcloud(get_wiki("Tata Motors"))

1 Ответ

0 голосов
/ 05 февраля 2019

Ваша строка:

mask=np.array(Image.open(os.path.join[currdir,"masks.png"]))

должна быть:

mask=np.array(Image.open(os.path.join(currdir,"masks.png")))

os.path.join - это функция, и ее аргументы должны передаваться с ().Использование [] подразумевает, что вы подписываетесь на него.См. документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...