Wordcloud로 중국어 구름을 만들 때 겪는 문제
6596 단어 Python 시작
import jieba
import wordcloud
f= open ('ciyun.txt',encoding='utf-8')
t=f.read()
f.close()
ls=jieba.lcut(t)
txt=" ".join(ls)
w=wordcloud.WordCloud(font_path=" .ttf",width=1000,height=700,background_color="white")
w.generate(txt)
w.to_file("wordcloud.png")
Traceback (most recent call last):
File "E:\python code\ .py", line 11, in <module>
w.generate(txt)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 605, in generate
return self.generate_from_text(text)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 587, in generate_from_text
self.generate_from_frequencies(words)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 426, in generate_from_frequencies
max_font_size=self.height)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 473, in generate_from_frequencies
font = ImageFont.truetype(self.font_path, font_size)
File "D:\python3\lib\site-packages\PIL\ImageFont.py", line 280, in truetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "D:\python3\lib\site-packages\PIL\ImageFont.py", line 145, in __init__
layout_engine=layout_engine)
OSError: cannot open resource
중국어 어운을 생성할 때 항상 이 문제가 튀어나왔고, 이 코드는 내가 직접 가져온 선생님이 수업할 때 말씀하셨다.자신이 인터넷에서 오랫동안 검색했지만 해답을 찾지 못했습니다. 마지막에는 프로그램의 코드를 한 줄씩 삭제할 수 밖에 없습니다. 어떤 위치에서 이 버그가 발생했는지 보시면font_path ='마이크로소프트 아크 굵은체.ttf'라는 부분에서 버그가 사라졌는데, 이것은 원래 자신이 대응하는 글꼴 파일을 다운로드하지 않았다는 것을 알게 되었다.수업 시간에 선생님도 말씀을 안 하셨어요. 저는 글씨체 파일이 Python 플랫폼에서 가지고 있는 줄 알았어요. 역시 제가 너무 천진해서 인터넷에서 ttf 파일을 다운로드해서 실행에 성공했어요.