擅长:python、mysql、java
<p>如果它是非文本文件,您可以尝试使用<code>binary</code>格式打开它。试试这个-</p>
<pre><code>with open("path-to-file", "rb") as f:
byte = f.read(1)
while byte != "":
byte = f.read(1) # Do stuff with byte.
</code></pre>
<p><code>with</code>语句处理打开和关闭文件,包括是否在内部块中引发异常。在</p>
<p>当然,由于格式是二进制的,所以你需要知道你在阅读之后要做什么。另外,这里我一次读1个字节,你也可以定义更大的块大小。在</p>
<p><strong>更新:</strong>也许这不是一个二进制文件。您可能在文件编码方面遇到问题,这些字符可能不是ascii字符集,也可能属于unicode字符集。试试这个-</p>
^{pr2}$
<p>如果您在终端中打印出来,您可能仍然会胡言乱语,因为终端可能不支持此字符集。我建议,继续并处理文本,假设它正确打开。在</p>
<p><a href="http://www.evanjones.ca/python-utf8.html" rel="nofollow">Source</a></p>