【发布时间】:2015-10-15 09:52:55
【问题描述】:
这似乎是应该有很多重复和大量答案的问题类型,但我的搜索结果只是令人沮丧,没有可用的解决方案。
在 Python(最好是 3.x)中,我想知道如何打开任意类型的文件,读取存储在磁盘上的字节,并以最“原生”、“原始”的形式呈现这些字节', '原始' 形式,在对它们进行任何编码之前。
如果文件作为00010100 10000100 ... 的流存储在磁盘上,那么这就是我希望在屏幕上呈现的内容。
这类问题通常会引发“您为什么想知道”和“用例是什么”的回答。我很好奇,这是我的用例。
在将其标记为重复之前,请确保您想到的答案确实回答了问题(而不仅仅是讨论编码等)。谢谢!
在前三个答案后编辑:
感谢到目前为止的三位响应者,尤其感谢 J.F. Sebastian 的扩展讨论。从所说的看来,我的问题归结为文件中的字节如何物理记录到磁盘以及如何读取和呈现它们。在这一点上,在 Python 中似乎不可能以原始形式获得字节的视图,但它们有多种表示形式。整数、十六进制值、ascii 等。由于问题尚未解决,我将把问题留待更多输入。
【问题讨论】:
-
正如我在回答中明确所说:Python 确实获得了原始字节:您可以读取它们,也可以编写它们。如果你的问题是如果你打电话给
file.read(1)到底发生了什么,那么这是一个不同的问题(答案是:很多事情正在发生——不同的操作系统表现不同,不同的文件系统表现不同,硬盘也是整台计算机,即,你的普通电脑就是电脑的网络——只要不影响结果——没关系)。
标签: python python-3.x binary-data