擅长:python、mysql、java
<p>有两个独立的问题:</p>
<ol>
<li><p>如果使用非ascii字符并对表示文本的数据使用Unicode文本,则应指定Python源编码,例如:</p>
<pre><code># -*- coding: utf-8 -*-
path = ur"E:\Test\は最高のプログラマ"
</code></pre></li>
<li><p><a href="http://bugs.python.org/issue1602" rel="nofollow">Printing Unicode to Windows console is complicated</a>但如果设置了正确的字体,则只需:</p>
<pre><code>print path
</code></pre>
<p>可能有用。</p></li>
</ol>
<p>无论您的控制台是否可以显示路径,都可以将Unicode路径传递给文件系统函数,例如:</p>
<pre><code>entries = os.listdir(path)
</code></pre>
<p>不要在bytestrings上调用<code>.encode(char_enc)</code>,而是在Unicode字符串上调用它。<br/>
不要在Unicode字符串上调用<code>.decode(char_enc)</code>,而是在bytestrings上调用它。</p>