2019-04-21 11:50:48 +08:00

26 lines
36 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-stat"><h1><span class="yiyi-st" id="yiyi-10">11.4. <a class="reference internal" href="#module-stat" title="stat: Utilities for interpreting the results of os.stat(), os.lstat() and os.fstat()."><code class="xref py py-mod docutils literal"><span class="pre">stat</span></code></a> —— 解释<a class="reference internal" href="os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">stat()</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/stat.py">Lib / stat.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-stat" title="stat: Utilities for interpreting the results of os.stat(), os.lstat() and os.fstat()."><code class="xref py py-mod docutils literal"><span class="pre">stat</span></code></a>模块定义用于解释<a class="reference internal" href="os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">os.stat()</span></code></a><a class="reference internal" href="os.html#os.fstat" title="os.fstat"><code class="xref py py-func docutils literal"><span class="pre">os.fstat()</span></code></a><a class="reference internal" href="os.html#os.lstat" title="os.lstat"><code class="xref py py-func docutils literal"><span class="pre">os.lstat()</span></code></a>(如果它们存在)。</span><span class="yiyi-st" id="yiyi-13">有关<code class="xref c c-func docutils literal"><span class="pre">stat()</span></code><code class="xref c c-func docutils literal"><span class="pre">fstat()</span></code><code class="xref c c-func docutils literal"><span class="pre">lstat()</span></code>调用的完整详细信息,请参阅系统文档。</span></p><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-14"><span class="versionmodified">在版本3.4中更改:</span> stat模块由C实现支持。</span></p></div><p><span class="yiyi-st" id="yiyi-15"><a class="reference internal" href="#module-stat" title="stat: Utilities for interpreting the results of os.stat(), os.lstat() and os.fstat()."><code class="xref py py-mod docutils literal"><span class="pre">stat</span></code></a>模块定义了以下功能来测试特定文件类型:</span></p><dl class="function"><dt id="stat.S_ISDIR"><span class="yiyi-st" id="yiyi-16"> <code class="descclassname">stat.</code><code class="descname">S_ISDIR</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-17">如果mode来自一个目录返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISCHR"><span class="yiyi-st" id="yiyi-18"> <code class="descclassname">stat.</code><code class="descname">S_ISCHR</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-19">如果mode来自特殊的字符设备文件返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISBLK"><span class="yiyi-st" id="yiyi-20"> <code class="descclassname">stat.</code><code class="descname">S_ISBLK</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-21">如果mode来自特殊的块设备文件返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISREG"><span class="yiyi-st" id="yiyi-22"> <code class="descclassname">stat.</code><code class="descname">S_ISREG</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-23">如果mode来自一个正常的文件返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISFIFO"><span class="yiyi-st" id="yiyi-24"> <code class="descclassname">stat.</code><code class="descname">S_ISFIFO</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-25">如果mode来自FIFO命名管道返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISLNK"><span class="yiyi-st" id="yiyi-26"> <code class="descclassname">stat.</code><code class="descname">S_ISLNK</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-27">如果mode来自一个符号链接返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISSOCK"><span class="yiyi-st" id="yiyi-28"> <code class="descclassname">stat.</code><code class="descname">S_ISSOCK</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-29">如果mode来自一个套接字返回非零。</span></p></dd></dl><dl class="function"><dt id="stat.S_ISDOOR"><span class="yiyi-st" id="yiyi-30"> <code class="descclassname">stat.</code><code class="descname">S_ISDOOR</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-31">如果模式是从门返回非零。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-32"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><dl class="function"><dt id="stat.S_ISPORT"><span class="yiyi-st" id="yiyi-33"> <code class="descclassname">stat.</code><code class="descname">S_ISPORT</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-34">如果模式来自事件端口,则返回非零。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-35"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><dl class="function"><dt id="stat.S_ISWHT"><span class="yiyi-st" id="yiyi-36"> <code class="descclassname">stat.</code><code class="descname">S_ISWHT</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-37">如果模式来自白光,返回非零。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-38"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><p><span class="yiyi-st" id="yiyi-39">还附加定义两个函数用于更一般的文件模式的操作:</span></p><dl class="function"><dt id="stat.S_IMODE"><span class="yiyi-st" id="yiyi-40"> <code class="descclassname">stat.</code><code class="descname">S_IMODE</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-41">返回可以由<a class="reference internal" href="os.html#os.chmod" title="os.chmod"><code class="xref py py-func docutils literal"><span class="pre">os.chmod()</span></code></a>设置的文件模式部分即文件的权限位以及sticky位set-group-id和set-user-id位在支持它们的系统上</span></p></dd></dl><dl class="function"><dt id="stat.S_IFMT"><span class="yiyi-st" id="yiyi-42"> <code class="descclassname">stat.</code><code class="descname">S_IFMT</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-43">返回描述文件类型的文件模式部分(由上面的<code class="xref py py-func docutils literal"><span class="pre">S_IS*()</span></code>函数使用)。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-44">通常,您可以使用<code class="xref py py-func docutils literal"><span class="pre">os.path.is*()</span></code>函数来测试文件的类型;当您对同一文件执行多个测试并希望避免每个测试的<code class="xref c c-func docutils literal"><span class="pre">stat()</span></code>系统调用的开销时,此处的函数非常有用。</span><span class="yiyi-st" id="yiyi-45">当检查有关不是由<a class="reference internal" href="os.path.html#module-os.path" title="os.path: Operations on pathnames."><code class="xref py py-mod docutils literal"><span class="pre">os.path</span></code></a>处理的文件的信息时,这些也很有用,例如对块和字符设备的测试。</span></p><p><span class="yiyi-st" id="yiyi-46">示例:</span></p><pre><code class="language-python"><span></span><span class="kn">import</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">sys</span>
<span class="kn">from</span> <span class="nn">stat</span> <span class="k">import</span> <span class="o">*</span>
<span class="k">def</span> <span class="nf">walktree</span><span class="p">(</span><span class="n">top</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
<span class="sd">'''recursively descend the directory tree rooted at top,</span>
<span class="sd"> calling the callback function for each regular file'''</span>
<span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">top</span><span class="p">):</span>
<span class="n">pathname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">top</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span>
<span class="n">mode</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">pathname</span><span class="p">)</span><span class="o">.</span><span class="n">st_mode</span>
<span class="k">if</span> <span class="n">S_ISDIR</span><span class="p">(</span><span class="n">mode</span><span class="p">):</span>
<span class="c1"># It's a directory, recurse into it</span>
<span class="n">walktree</span><span class="p">(</span><span class="n">pathname</span><span class="p">,</span> <span class="n">callback</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">S_ISREG</span><span class="p">(</span><span class="n">mode</span><span class="p">):</span>
<span class="c1"># It's a file, call the callback function</span>
<span class="n">callback</span><span class="p">(</span><span class="n">pathname</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># Unknown file type, print a message</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">'Skipping </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">pathname</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">visitfile</span><span class="p">(</span><span class="n">file</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">'visiting'</span><span class="p">,</span> <span class="n">file</span><span class="p">)</span>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s1">'__main__'</span><span class="p">:</span>
<span class="n">walktree</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">visitfile</span><span class="p">)</span>
</code></pre><p><span class="yiyi-st" id="yiyi-47">提供了一个附加的效用函数,用于以可读的字符串转换文件的模式:</span></p><dl class="function"><dt id="stat.filemode"><span class="yiyi-st" id="yiyi-48"> <code class="descclassname">stat.</code><code class="descname">filemode</code><span class="sig-paren">(</span><em>mode</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-49">将文件的模式转换为格式为'-rwxrwxrwx'的字符串。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-50"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-51"><span class="versionmodified">在版本3.4中更改:</span>此功能支持<a class="reference internal" href="#stat.S_IFDOOR" title="stat.S_IFDOOR"><code class="xref py py-data docutils literal"><span class="pre">S_IFDOOR</span></code></a><a class="reference internal" href="#stat.S_IFPORT" title="stat.S_IFPORT"><code class="xref py py-data docutils literal"><span class="pre">S_IFPORT</span></code></a><a class="reference internal" href="#stat.S_IFWHT" title="stat.S_IFWHT"><code class="xref py py-data docutils literal"><span class="pre">S_IFWHT</span></code></a></span></p></div></dd></dl><p><span class="yiyi-st" id="yiyi-52">下面的所有变量只是<a class="reference internal" href="os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">os.stat()</span></code></a><a class="reference internal" href="os.html#os.fstat" title="os.fstat"><code class="xref py py-func docutils literal"><span class="pre">os.fstat()</span></code></a><a class="reference internal" href="os.html#os.lstat" title="os.lstat"><code class="xref py py-func docutils literal"><span class="pre">os.lstat()</span></code></a></span></p><dl class="data"><dt id="stat.ST_MODE"><span class="yiyi-st" id="yiyi-53"> <code class="descclassname">stat.</code><code class="descname">ST_MODE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-54">inode 保护模式。</span></p></dd></dl><dl class="data"><dt id="stat.ST_INO"><span class="yiyi-st" id="yiyi-55"> <code class="descclassname">stat.</code><code class="descname">ST_INO</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-56">inode 节点号。</span></p></dd></dl><dl class="data"><dt id="stat.ST_DEV"><span class="yiyi-st" id="yiyi-57"> <code class="descclassname">stat.</code><code class="descname">ST_DEV</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-58">inode 驻留的设备。</span></p></dd></dl><dl class="data"><dt id="stat.ST_NLINK"><span class="yiyi-st" id="yiyi-59"> <code class="descclassname">stat.</code><code class="descname">ST_NLINK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-60">inode 的链接数。</span></p></dd></dl><dl class="data"><dt id="stat.ST_UID"><span class="yiyi-st" id="yiyi-61"> <code class="descclassname">stat.</code><code class="descname">ST_UID</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-62">所有者的用户ID。</span></p></dd></dl><dl class="data"><dt id="stat.ST_GID"><span class="yiyi-st" id="yiyi-63"> <code class="descclassname">stat.</code><code class="descname">ST_GID</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-64">所有者的组ID。</span></p></dd></dl><dl class="data"><dt id="stat.ST_SIZE"><span class="yiyi-st" id="yiyi-65"> <code class="descclassname">stat.</code><code class="descname">ST_SIZE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-66">一个普通文件的字节大小;等待某些特殊文件的数据量。</span></p></dd></dl><dl class="data"><dt id="stat.ST_ATIME"><span class="yiyi-st" id="yiyi-67"> <code class="descclassname">stat.</code><code class="descname">ST_ATIME</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-68">上次访问的时间。</span></p></dd></dl><dl class="data"><dt id="stat.ST_MTIME"><span class="yiyi-st" id="yiyi-69"> <code class="descclassname">stat.</code><code class="descname">ST_MTIME</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-70">最后一次修改的时间。</span></p></dd></dl><dl class="data"><dt id="stat.ST_CTIME"><span class="yiyi-st" id="yiyi-71"> <code class="descclassname">stat.</code><code class="descname">ST_CTIME</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-72">由操作系统报告的"ctime"。</span><span class="yiyi-st" id="yiyi-73">在某些系统上如Unix是最新的元数据更改的时间在其它系统上如Windows是创建时间详细信息参见平台的文档</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-74">"文件大小"的解释与文件类型有关。</span><span class="yiyi-st" id="yiyi-75">对于普通的文件,这是文件以字节为单位的大小。</span><span class="yiyi-st" id="yiyi-76">For FIFOs and sockets under most flavors of Unix (including Linux in particular), the “size” is the number of bytes waiting to be read at the time of the call to <a class="reference internal" href="os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">os.stat()</span></code></a>, <a class="reference internal" href="os.html#os.fstat" title="os.fstat"><code class="xref py py-func docutils literal"><span class="pre">os.fstat()</span></code></a>, or <a class="reference internal" href="os.html#os.lstat" title="os.lstat"><code class="xref py py-func docutils literal"><span class="pre">os.lstat()</span></code></a>; this can sometimes be useful, especially for polling one of these special files after a non-blocking open. </span><span class="yiyi-st" id="yiyi-77">其他字符和块设备的大小字段的含义变化更大,具体取决于底层的系统调用的实现。</span></p><p><span class="yiyi-st" id="yiyi-78">下面的变量定义了<a class="reference internal" href="#stat.ST_MODE" title="stat.ST_MODE"><code class="xref py py-data docutils literal"><span class="pre">ST_MODE</span></code></a>字段中使用的标志。</span></p><p><span class="yiyi-st" id="yiyi-79">使用上述函数比使用下面第一组标志更便携:</span></p><dl class="data"><dt id="stat.S_IFSOCK"><span class="yiyi-st" id="yiyi-80"> <code class="descclassname">stat.</code><code class="descname">S_IFSOCK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-81">套接字。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFLNK"><span class="yiyi-st" id="yiyi-82"> <code class="descclassname">stat.</code><code class="descname">S_IFLNK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-83">符号链接。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFREG"><span class="yiyi-st" id="yiyi-84"> <code class="descclassname">stat.</code><code class="descname">S_IFREG</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-85">常规文件。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFBLK"><span class="yiyi-st" id="yiyi-86"> <code class="descclassname">stat.</code><code class="descname">S_IFBLK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-87">块设备。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFDIR"><span class="yiyi-st" id="yiyi-88"> <code class="descclassname">stat.</code><code class="descname">S_IFDIR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-89">目录。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFCHR"><span class="yiyi-st" id="yiyi-90"> <code class="descclassname">stat.</code><code class="descname">S_IFCHR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-91">字符设备。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFIFO"><span class="yiyi-st" id="yiyi-92"> <code class="descclassname">stat.</code><code class="descname">S_IFIFO</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-93">先进先出。</span></p></dd></dl><dl class="data"><dt id="stat.S_IFDOOR"><span class="yiyi-st" id="yiyi-94"> <code class="descclassname">stat.</code><code class="descname">S_IFDOOR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-95">门。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-96"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><dl class="data"><dt id="stat.S_IFPORT"><span class="yiyi-st" id="yiyi-97"> <code class="descclassname">stat.</code><code class="descname">S_IFPORT</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-98">事件端口。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-99"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><dl class="data"><dt id="stat.S_IFWHT"><span class="yiyi-st" id="yiyi-100"> <code class="descclassname">stat.</code><code class="descname">S_IFWHT</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-101">Whiteout。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-102"><span class="versionmodified">版本3.4中的新功能。</span></span></p></div></dd></dl><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-103">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-104">当平台不支持文件类型时,<a class="reference internal" href="#stat.S_IFDOOR" title="stat.S_IFDOOR"><code class="xref py py-data docutils literal"><span class="pre">S_IFDOOR</span></code></a><a class="reference internal" href="#stat.S_IFPORT" title="stat.S_IFPORT"><code class="xref py py-data docutils literal"><span class="pre">S_IFPORT</span></code></a><a class="reference internal" href="#stat.S_IFWHT" title="stat.S_IFWHT"><code class="xref py py-data docutils literal"><span class="pre">S_IFWHT</span></code></a></span></p></div><p><span class="yiyi-st" id="yiyi-105">以下标志也可以在<a class="reference internal" href="os.html#os.chmod" title="os.chmod"><code class="xref py py-func docutils literal"><span class="pre">os.chmod()</span></code></a><em>模式</em>参数中使用:</span></p><dl class="data"><dt id="stat.S_ISUID"><span class="yiyi-st" id="yiyi-106"> <code class="descclassname">stat.</code><code class="descname">S_ISUID</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-107">设置 UID 位。</span></p></dd></dl><dl class="data"><dt id="stat.S_ISGID"><span class="yiyi-st" id="yiyi-108"> <code class="descclassname">stat.</code><code class="descname">S_ISGID</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-109">设置组 ID 位。</span><span class="yiyi-st" id="yiyi-110">这一点有几种特殊用途。</span><span class="yiyi-st" id="yiyi-111">对于目录它指示BSD语义将用于该目录在那里创建的文件从目录继承其组ID而不是从创建进程的有效组ID并且在那里创建的目录也将获得<a class="reference internal" href="#stat.S_ISGID" title="stat.S_ISGID"><code class="xref py py-data docutils literal"><span class="pre">S_ISGID</span></code></a>位设置。</span><span class="yiyi-st" id="yiyi-112">对于没有设置组执行位(<a class="reference internal" href="#stat.S_IXGRP" title="stat.S_IXGRP"><code class="xref py py-data docutils literal"><span class="pre">S_IXGRP</span></code></a>的文件set-group-ID位表示强制文件/记录锁定(另见<a class="reference internal" href="#stat.S_ENFMT" title="stat.S_ENFMT"><code class="xref py py-data docutils literal"><span class="pre">S_ENFMT</span></code></a>)。</span></p></dd></dl><dl class="data"><dt id="stat.S_ISVTX"><span class="yiyi-st" id="yiyi-113"> <code class="descclassname">stat.</code><code class="descname">S_ISVTX</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-114">粘滞位。</span><span class="yiyi-st" id="yiyi-115">当这位被设置在一个目录上,这意味着在该目录中的文件可以被重命名或删除仅由该文件的所有者、 由目录的所有者或特权的进程。</span></p></dd></dl><dl class="data"><dt id="stat.S_IRWXU"><span class="yiyi-st" id="yiyi-116"> <code class="descclassname">stat.</code><code class="descname">S_IRWXU</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-117">文件所有者权限掩码。</span></p></dd></dl><dl class="data"><dt id="stat.S_IRUSR"><span class="yiyi-st" id="yiyi-118"> <code class="descclassname">stat.</code><code class="descname">S_IRUSR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-119">所有者拥有读取权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IWUSR"><span class="yiyi-st" id="yiyi-120"> <code class="descclassname">stat.</code><code class="descname">S_IWUSR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-121">所有者具有写入权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IXUSR"><span class="yiyi-st" id="yiyi-122"> <code class="descclassname">stat.</code><code class="descname">S_IXUSR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-123">所有者具有执行权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IRWXG"><span class="yiyi-st" id="yiyi-124"> <code class="descclassname">stat.</code><code class="descname">S_IRWXG</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-125">组权限掩码。</span></p></dd></dl><dl class="data"><dt id="stat.S_IRGRP"><span class="yiyi-st" id="yiyi-126"> <code class="descclassname">stat.</code><code class="descname">S_IRGRP</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-127">组具有读取权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IWGRP"><span class="yiyi-st" id="yiyi-128"> <code class="descclassname">stat.</code><code class="descname">S_IWGRP</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-129">组具有写入权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IXGRP"><span class="yiyi-st" id="yiyi-130"> <code class="descclassname">stat.</code><code class="descname">S_IXGRP</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-131">组具有执行权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IRWXO"><span class="yiyi-st" id="yiyi-132"> <code class="descclassname">stat.</code><code class="descname">S_IRWXO</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-133">其他人(不在组中的人)的权限掩码。</span></p></dd></dl><dl class="data"><dt id="stat.S_IROTH"><span class="yiyi-st" id="yiyi-134"> <code class="descclassname">stat.</code><code class="descname">S_IROTH</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-135">其他人具有读取权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IWOTH"><span class="yiyi-st" id="yiyi-136"> <code class="descclassname">stat.</code><code class="descname">S_IWOTH</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-137">其他人具有写入权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_IXOTH"><span class="yiyi-st" id="yiyi-138"> <code class="descclassname">stat.</code><code class="descname">S_IXOTH</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-139">其他人具有执行权限。</span></p></dd></dl><dl class="data"><dt id="stat.S_ENFMT"><span class="yiyi-st" id="yiyi-140"> <code class="descclassname">stat.</code><code class="descname">S_ENFMT</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-141">V 系统文件锁定的执法行动。</span><span class="yiyi-st" id="yiyi-142">此标志与<a class="reference internal" href="#stat.S_ISGID" title="stat.S_ISGID"><code class="xref py py-data docutils literal"><span class="pre">S_ISGID</span></code></a>共享:对未设置组执行位(<a class="reference internal" href="#stat.S_IXGRP" title="stat.S_IXGRP"><code class="xref py py-data docutils literal"><span class="pre">S_IXGRP</span></code></a>)的文件执行文件/记录锁定。</span></p></dd></dl><dl class="data"><dt id="stat.S_IREAD"><span class="yiyi-st" id="yiyi-143"> <code class="descclassname">stat.</code><code class="descname">S_IREAD</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-144"><a class="reference internal" href="#stat.S_IRUSR" title="stat.S_IRUSR"><code class="xref py py-data docutils literal"><span class="pre">S_IRUSR</span></code></a>的Unix V7同义词。</span></p></dd></dl><dl class="data"><dt id="stat.S_IWRITE"><span class="yiyi-st" id="yiyi-145"> <code class="descclassname">stat.</code><code class="descname">S_IWRITE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-146"><a class="reference internal" href="#stat.S_IWUSR" title="stat.S_IWUSR"><code class="xref py py-data docutils literal"><span class="pre">S_IWUSR</span></code></a>的Unix V7同义词。</span></p></dd></dl><dl class="data"><dt id="stat.S_IEXEC"><span class="yiyi-st" id="yiyi-147"> <code class="descclassname">stat.</code><code class="descname">S_IEXEC</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-148"><a class="reference internal" href="#stat.S_IXUSR" title="stat.S_IXUSR"><code class="xref py py-data docutils literal"><span class="pre">S_IXUSR</span></code></a>的Unix V7同义词。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-149">可以在<a class="reference internal" href="os.html#os.chflags" title="os.chflags"><code class="xref py py-func docutils literal"><span class="pre">os.chflags()</span></code></a><em>标志</em>参数中使用以下标志:</span></p><dl class="data"><dt id="stat.UF_NODUMP"><span class="yiyi-st" id="yiyi-150"> <code class="descclassname">stat.</code><code class="descname">UF_NODUMP</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-151">不转储文件。</span></p></dd></dl><dl class="data"><dt id="stat.UF_IMMUTABLE"><span class="yiyi-st" id="yiyi-152"> <code class="descclassname">stat.</code><code class="descname">UF_IMMUTABLE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-153">该文件不能更改。</span></p></dd></dl><dl class="data"><dt id="stat.UF_APPEND"><span class="yiyi-st" id="yiyi-154"> <code class="descclassname">stat.</code><code class="descname">UF_APPEND</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-155">该文件可能只被追加到。</span></p></dd></dl><dl class="data"><dt id="stat.UF_OPAQUE"><span class="yiyi-st" id="yiyi-156"> <code class="descclassname">stat.</code><code class="descname">UF_OPAQUE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-157">该目录是不透明的通过联盟的堆栈查看时。</span></p></dd></dl><dl class="data"><dt id="stat.UF_NOUNLINK"><span class="yiyi-st" id="yiyi-158"> <code class="descclassname">stat.</code><code class="descname">UF_NOUNLINK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-159">该文件可能不能重命名或删除。</span></p></dd></dl><dl class="data"><dt id="stat.UF_COMPRESSED"><span class="yiyi-st" id="yiyi-160"> <code class="descclassname">stat.</code><code class="descname">UF_COMPRESSED</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-161">该文件存储压缩 Mac OS X 10.6+)。</span></p></dd></dl><dl class="data"><dt id="stat.UF_HIDDEN"><span class="yiyi-st" id="yiyi-162"> <code class="descclassname">stat.</code><code class="descname">UF_HIDDEN</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-163">该文件不应显示在GUI中Mac OS X 10.5+)。</span></p></dd></dl><dl class="data"><dt id="stat.SF_ARCHIVED"><span class="yiyi-st" id="yiyi-164"> <code class="descclassname">stat.</code><code class="descname">SF_ARCHIVED</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-165">该文件可能被存档。</span></p></dd></dl><dl class="data"><dt id="stat.SF_IMMUTABLE"><span class="yiyi-st" id="yiyi-166"> <code class="descclassname">stat.</code><code class="descname">SF_IMMUTABLE</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-167">该文件不能更改。</span></p></dd></dl><dl class="data"><dt id="stat.SF_APPEND"><span class="yiyi-st" id="yiyi-168"> <code class="descclassname">stat.</code><code class="descname">SF_APPEND</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-169">该文件可能只被追加到。</span></p></dd></dl><dl class="data"><dt id="stat.SF_NOUNLINK"><span class="yiyi-st" id="yiyi-170"> <code class="descclassname">stat.</code><code class="descname">SF_NOUNLINK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-171">该文件可能不能重命名或删除。</span></p></dd></dl><dl class="data"><dt id="stat.SF_SNAPSHOT"><span class="yiyi-st" id="yiyi-172"> <code class="descclassname">stat.</code><code class="descname">SF_SNAPSHOT</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-173">该文件是一个快照文件。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-174">详细信息请参阅*BSD或Mac OS系统的<em class="manpage">chflags(2)</em>帮助页。</span></p><p><span class="yiyi-st" id="yiyi-175">在Windows上以下文件属性常量可用于测试由<a class="reference internal" href="os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">os.stat()</span></code></a>返回的<code class="docutils literal"><span class="pre">st_file_attributes</span></code>成员中的位。</span><span class="yiyi-st" id="yiyi-176">有关这些常量含义的更多详细信息,请参阅<a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117.aspx">Windows API文档</a></span></p><dl class="data"><dt id="stat.FILE_ATTRIBUTE_ARCHIVE"><span class="yiyi-st" id="yiyi-177"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_ARCHIVE</code></span></dt><dt id="stat.FILE_ATTRIBUTE_COMPRESSED"><span class="yiyi-st" id="yiyi-178"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_COMPRESSED</code></span></dt><dt id="stat.FILE_ATTRIBUTE_DEVICE"><span class="yiyi-st" id="yiyi-179"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_DEVICE</code></span></dt><dt id="stat.FILE_ATTRIBUTE_DIRECTORY"><span class="yiyi-st" id="yiyi-180"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_DIRECTORY</code></span></dt><dt id="stat.FILE_ATTRIBUTE_ENCRYPTED"><span class="yiyi-st" id="yiyi-181"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_ENCRYPTED</code></span></dt><dt id="stat.FILE_ATTRIBUTE_HIDDEN"><span class="yiyi-st" id="yiyi-182"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_HIDDEN</code></span></dt><dt id="stat.FILE_ATTRIBUTE_INTEGRITY_STREAM"><span class="yiyi-st" id="yiyi-183"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_INTEGRITY_STREAM</code></span></dt><dt id="stat.FILE_ATTRIBUTE_NORMAL"><span class="yiyi-st" id="yiyi-184"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_NORMAL</code></span></dt><dt id="stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED"><span class="yiyi-st" id="yiyi-185"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_NOT_CONTENT_INDEXED</code></span></dt><dt id="stat.FILE_ATTRIBUTE_NO_SCRUB_DATA"><span class="yiyi-st" id="yiyi-186"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_NO_SCRUB_DATA</code></span></dt><dt id="stat.FILE_ATTRIBUTE_OFFLINE"><span class="yiyi-st" id="yiyi-187"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_OFFLINE</code></span></dt><dt id="stat.FILE_ATTRIBUTE_READONLY"><span class="yiyi-st" id="yiyi-188"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_READONLY</code></span></dt><dt id="stat.FILE_ATTRIBUTE_REPARSE_POINT"><span class="yiyi-st" id="yiyi-189"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_REPARSE_POINT</code></span></dt><dt id="stat.FILE_ATTRIBUTE_SPARSE_FILE"><span class="yiyi-st" id="yiyi-190"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_SPARSE_FILE</code></span></dt><dt id="stat.FILE_ATTRIBUTE_SYSTEM"><span class="yiyi-st" id="yiyi-191"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_SYSTEM</code></span></dt><dt id="stat.FILE_ATTRIBUTE_TEMPORARY"><span class="yiyi-st" id="yiyi-192"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_TEMPORARY</code></span></dt><dt id="stat.FILE_ATTRIBUTE_VIRTUAL"><span class="yiyi-st" id="yiyi-193"> <code class="descclassname">stat.</code><code class="descname">FILE_ATTRIBUTE_VIRTUAL</code></span></dt><dd><div class="versionadded"><p><span class="yiyi-st" id="yiyi-194"><span class="versionmodified">版本3.5中的新功能。</span></span></p></div></dd></dl></div></div>