(已解决)python报错:OSError: cannot open resource

背景:

在CSDN找了篇文章学习用python绘制词云,如何使用python绘制词云图wordcloud(超详细),使用他的代码做了简单修改。


问题描述

稍作修改运行出现如下报错:

 File "E:\Python\review_analyze\venv\lib\site-packages\PIL\ImageFont.py", line 248, in __init__
    self.font = core.getfont(
OSError: cannot open resource


原因分析:

文件名或者文件路径有错误!

 wordcloud函数需要导入字体,路径为'C:\Windows\Fonts\FZSTK.TTF',而我的路径没有安装这个字体文件。

查看路径下的可用字体,例如如修改使用的字体为微软雅黑,

(已解决)python报错:OSError: cannot open resource_第1张图片

直接改名'C:\Windows\Fonts\微软雅黑.TTF',又出现如下报错:

 File "E:\Python\review_analyze\venv\lib\site-packages\PIL\ImageFont.py", line 245, in __init__
    with open(font, "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Windows\\Fonts\\微软雅黑.TTF'

这说明文件名不对,其实字体的实际文件名并不叫“微软雅黑.TTF”。


解决方案:

通过文件属性找到正确的文件名。

  •         对于字形只有常规一种的字体(例如“宋体 常规”),直接右键选择属性;
  •         对于有多种字形的字体,直接右键是没有属性选项的,要双击打开字体详细信息,再右键选择属性。

(已解决)python报错:OSError: cannot open resource_第2张图片

这样就查到正确的文件名了,“微软雅黑 常规”的文件名是"msyh.ttc"。

 

(已解决)python报错:OSError: cannot open resource_第3张图片

代码改为

Font = r'C:\Windows\Fonts\msyh.ttc'

 运行成功!

你可能感兴趣的:(python,开发语言,bug)