mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
1 line
7.1 KiB
HTML
1 line
7.1 KiB
HTML
<div class="body" role="main"><div class="section" id="module-netrc"><h1><span class="yiyi-st" id="yiyi-10">14.3. <a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-mod docutils literal"><span class="pre">netrc</span></code></a> - netrc文件处理</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/netrc.py">Lib / netrc.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-class docutils literal"><span class="pre">netrc</span></code></a>类解析并封装了Unix <strong class="program">ftp</strong>程序和其他FTP客户端使用的netrc文件格式。</span></p><dl class="class"><dt id="netrc.netrc"><span class="yiyi-st" id="yiyi-13"> <em class="property">class </em><code class="descclassname">netrc.</code><code class="descname">netrc</code><span class="sig-paren">(</span><span class="optional">[</span><em>file</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-14">A <a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-class docutils literal"><span class="pre">netrc</span></code></a>实例或子类实例封装了来自netrc文件的数据。</span><span class="yiyi-st" id="yiyi-15">初始化参数(如果存在)指定要解析的文件。</span><span class="yiyi-st" id="yiyi-16">如果没有给出参数,将读取用户主目录中的文件<code class="file docutils literal"><span class="pre">.netrc</span></code>。</span><span class="yiyi-st" id="yiyi-17">解析错误将引发具有包括文件名,行号和终止令牌的诊断信息的<a class="reference internal" href="#netrc.NetrcParseError" title="netrc.NetrcParseError"><code class="xref py py-exc docutils literal"><span class="pre">NetrcParseError</span></code></a>。</span><span class="yiyi-st" id="yiyi-18">如果在POSIX系统上没有指定参数,则如果文件所有权或权限不安全(由用户拥有),则<code class="file docutils literal"><span class="pre">.netrc</span></code>文件中密码的存在将引发<a class="reference internal" href="#netrc.NetrcParseError" title="netrc.NetrcParseError"><code class="xref py py-exc docutils literal"><span class="pre">NetrcParseError</span></code></a>除了运行该进程的用户,或可由任何其他用户读或写的访问)。</span><span class="yiyi-st" id="yiyi-19">这实现了等同于ftp和使用<code class="file docutils literal"><span class="pre">.netrc</span></code>的其他程序的安全行为。</span></p><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-20"><span class="versionmodified">在版本3.4中更改:</span>添加了POSIX权限检查。</span></p></div></dd></dl><dl class="exception"><dt id="netrc.NetrcParseError"><span class="yiyi-st" id="yiyi-21"> <em class="property">exception </em><code class="descclassname">netrc.</code><code class="descname">NetrcParseError</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-22">Exception raised by the <a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-class docutils literal"><span class="pre">netrc</span></code></a> class when syntactical errors are encountered in source text. </span><span class="yiyi-st" id="yiyi-23">这个异常的实例提供了三个有趣的属性:<code class="xref py py-attr docutils literal"><span class="pre">msg</span></code>是错误的文本解释,<code class="xref py py-attr docutils literal"><span class="pre">filename</span></code>是源文件的名称,<code class="xref py py-attr docutils literal"><span class="pre">lineno</span></code>给出发现错误的行号。</span></p></dd></dl><div class="section" id="netrc-objects"><h2><span class="yiyi-st" id="yiyi-24">14.3.1. netrc对象</span></h2><p><span class="yiyi-st" id="yiyi-25">A <a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-class docutils literal"><span class="pre">netrc</span></code></a>实例具有以下方法:</span></p><dl class="method"><dt id="netrc.netrc.authenticators"><span class="yiyi-st" id="yiyi-26"> <code class="descclassname">netrc.</code><code class="descname">authenticators</code><span class="sig-paren">(</span><em>host</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-27">为<em>主机</em>返回3元组<code class="docutils literal"><span class="pre">(登录,</span> <span class="pre">帐户,</span> <span class="pre">密码)</span> >。</code></span><span class="yiyi-st" id="yiyi-28">如果netrc文件不包含给定主机的条目,则返回与“default”条目关联的元组。</span><span class="yiyi-st" id="yiyi-29">如果匹配主机或默认条目都不可用,则返回<code class="docutils literal"><span class="pre">None</span></code>。</span></p></dd></dl><dl class="method"><dt id="netrc.netrc.__repr__"><span class="yiyi-st" id="yiyi-30"> <code class="descclassname">netrc.</code><code class="descname">__repr__</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-31">将类数据转储为netrc文件格式的字符串。</span><span class="yiyi-st" id="yiyi-32">(这会丢弃注释,并可能重新排序条目。)</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-33"><a class="reference internal" href="#module-netrc" title="netrc: Loading of .netrc files."><code class="xref py py-class docutils literal"><span class="pre">netrc</span></code></a>的实例有公共实例变量:</span></p><dl class="attribute"><dt id="netrc.netrc.hosts"><span class="yiyi-st" id="yiyi-34"> <code class="descclassname">netrc.</code><code class="descname">hosts</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-35">将主机名映射到<code class="docutils literal"><span class="pre">(登录,</span> <span class="pre">帐户,</span> <span class="pre">密码)</span></code>元组。</span><span class="yiyi-st" id="yiyi-36">“默认”条目(如果有)通过该名称表示为伪主机。</span></p></dd></dl><dl class="attribute"><dt id="netrc.netrc.macros"><span class="yiyi-st" id="yiyi-37"> <code class="descclassname">netrc.</code><code class="descname">macros</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-38">将宏名称映射到字符串列表的字典。</span></p></dd></dl><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-39">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-40">密码限于ASCII字符集的一个子集。</span><span class="yiyi-st" id="yiyi-41">密码中允许使用所有ASCII标点符号,但请注意,密码中不允许使用空格和不可打印的字符。</span><span class="yiyi-st" id="yiyi-42">这是对.netrc文件进行解析的方式的限制,并且可能会在将来删除。</span></p></div></div></div></div> |