uTools-Manuals/docs/python/imghdr.html
2019-04-21 11:50:48 +08:00

4 lines
6.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="body" role="main"><div class="section" id="module-imghdr"><h1><span class="yiyi-st" id="yiyi-10">22.7. <a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a> - 确定图像的类型</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/imghdr.py">Lib/imghdr.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>模块确定包含在文件或字节流中的图像类型。</span></p><p><span class="yiyi-st" id="yiyi-13"><a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>模块定义以下函数:</span></p><dl class="function"><dt id="imghdr.what"><span class="yiyi-st" id="yiyi-14"> <code class="descclassname">imghdr.</code><code class="descname">what</code><span class="sig-paren">(</span><em>filename</em>, <em>h=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-15">测试由<em>filename</em>命名的文件中包含的图像数据,并返回描述图像类型的字符串。</span><span class="yiyi-st" id="yiyi-16">如果提供了可选的<em>h</em>,则忽略<em>文件名</em>,假设<em>h</em>包含要测试的字节流。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-17">可以识别以下图像类型,如下所示,返回值来自<a class="reference internal" href="#imghdr.what" title="imghdr.what"><code class="xref py py-func docutils literal"><span class="pre">what()</span></code></a></span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-18"></span></th><th class="head"><span class="yiyi-st" id="yiyi-19">图像格式</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-20"><code class="docutils literal"><span class="pre">'rgb'</span></code></span></td><td><span class="yiyi-st" id="yiyi-21">SGI ImgLib文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-22"><code class="docutils literal"><span class="pre">'gif'</span></code></span></td><td><span class="yiyi-st" id="yiyi-23">GIF 87a和89a文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-24"><code class="docutils literal"><span class="pre">'pbm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-25">便携式位图文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-26"><code class="docutils literal"><span class="pre">'pgm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-27">便携式灰色图文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-28"><code class="docutils literal"><span class="pre">'ppm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-29">便携式Pixmap文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-30"><code class="docutils literal"><span class="pre">'tiff'</span></code></span></td><td><span class="yiyi-st" id="yiyi-31">TIFF文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-32"><code class="docutils literal"><span class="pre">'rast'</span></code></span></td><td><span class="yiyi-st" id="yiyi-33">太阳光栅文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-34"><code class="docutils literal"><span class="pre">'xbm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-35">X位图文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-36"><code class="docutils literal"><span class="pre">'jpeg'</span></code></span></td><td><span class="yiyi-st" id="yiyi-37">JFIF或Exif格式的JPEG数据</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-38"><code class="docutils literal"><span class="pre">'bmp'</span></code></span></td><td><span class="yiyi-st" id="yiyi-39">BMP文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-40"><code class="docutils literal"><span class="pre">'png'</span></code></span></td><td><span class="yiyi-st" id="yiyi-41">便携式网络图形</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-42"><code class="docutils literal"><span class="pre">'webp'</span></code></span></td><td><span class="yiyi-st" id="yiyi-43">WebP文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-44"><code class="docutils literal"><span class="pre">'exr'</span></code></span></td><td><span class="yiyi-st" id="yiyi-45">OpenEXR文件</span></td></tr></tbody></table><div class="versionadded"><p><span class="yiyi-st" id="yiyi-46"><span class="versionmodified">版本3.5中的新功能:</span>添加了<em>exr</em><em>webp</em>格式。</span></p></div><p><span class="yiyi-st" id="yiyi-47">您可以扩展文件类型列表<a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>可以通过追加到此变量来识别:</span></p><dl class="data"><dt id="imghdr.tests"><span class="yiyi-st" id="yiyi-48"> <code class="descclassname">imghdr.</code><code class="descname">tests</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-49">执行单独测试的函数列表。</span><span class="yiyi-st" id="yiyi-50">每个函数都有两个参数:字节流和一个类似打开文件的对象。</span><span class="yiyi-st" id="yiyi-51">当使用字节流调用<a class="reference internal" href="#imghdr.what" title="imghdr.what"><code class="xref py py-func docutils literal"><span class="pre">what()</span></code></a>时,类文件对象将为<code class="docutils literal"><span class="pre">None</span></code></span></p><p><span class="yiyi-st" id="yiyi-52">如果测试成功,测试函数应返回描述图像类型的字符串,如果失败,则返回<code class="docutils literal"><span class="pre">None</span></code></span></p></dd></dl><p><span class="yiyi-st" id="yiyi-53">例:</span></p><pre><code class="language-python"><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">imghdr</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">imghdr</span><span class="o">.</span><span class="n">what</span><span class="p">(</span><span class="s1">'bass.gif'</span><span class="p">)</span>
<span class="go">'gif'</span>
</code></pre></div></div>