擅长:python、mysql、java
<p>下次请包括你的进口,我想是的</p>
<pre><code>from matplotlib._png import read_png
from matplotlib.cbook import get_sample_data
fn = get_sample_data('Jupiterbackground.png', asfileobj=False)
img = read_png(fn)
</code></pre>
<p><code>fn</code>是一个字符串,因为您使用了<code>asfileobj=False</code>(您可以使用<code>print(fn, type(fn))</code>检查这一点,这通常是查找<code>TypeErrors</code>的好方法),并且<code>read_png</code>需要一个文件对象。您可以使用<code>asfileobj=True</code>或对从<code>get_sample_data</code>获得的字符串调用open</p>
<p>但我无法让<code>read_png</code>工作并获得“OSError:读取超过文件末尾”。但该方法没有文档记录(据我所知),其模块名以下划线开头,这在python约定中意味着它不是公共API的一部分(即:它是matplotlib内部使用的函数)</p>
<p>正如另一个答案所说,使用不同的功能来完成任务</p>