打开 RawIOBase python 的文件
Open a file for RawIOBase python
我需要为一个函数读入文件的二进制文件,从这个 link https://docs.python.org/2/library/io.html 看来,我应该使用 RawIOBase 对象来读入它。但是我找不到任何关于如何打开文件以与 RawIOBase 一起使用的地方。现在我已经尝试将二进制文件读入字符串
with (open(documentFileName+".bin", "rb")) as binFile:
document = binFile.RawIOBase.read()
print document
但这会引发错误 AttributeError: 'file' object has no attribute 'RawIOBase'
那么在 RawIOBase 中没有打开属性的情况下,我该如何打开文件供其读取?
不要深入研究 io
灌木丛的实现细节,除非您需要编写您自己的特殊 file-oid-like 类型!在你的情况下,
with open(documentFileName+".bin", "rb") as binFile:
document = binFile.read()
会很好的!
顺便请注意,我已经删除了您使用的多余括号 -- "no unneeded pixels!!!" -- 但是,虽然很重要!但这是您的目标的一个附带问题。
现在,假设 Python 2,document
是一个 str
-- 一个不可变的字节数组。显示 document
将其显示为字符串可能会造成混淆,但这只是 Py2 对文本和字节字符串的混淆(在 Py3 中,返回的类型将是 bytes
)。
如果您更喜欢使用(例如)int
的可变数组,请使用例如
theints = map(ord, document)
或者,对于以数字显示的不可变字节数组,
import array
thearray = array.array('b', document)
我需要为一个函数读入文件的二进制文件,从这个 link https://docs.python.org/2/library/io.html 看来,我应该使用 RawIOBase 对象来读入它。但是我找不到任何关于如何打开文件以与 RawIOBase 一起使用的地方。现在我已经尝试将二进制文件读入字符串
with (open(documentFileName+".bin", "rb")) as binFile:
document = binFile.RawIOBase.read()
print document
但这会引发错误 AttributeError: 'file' object has no attribute 'RawIOBase'
那么在 RawIOBase 中没有打开属性的情况下,我该如何打开文件供其读取?
不要深入研究 io
灌木丛的实现细节,除非您需要编写您自己的特殊 file-oid-like 类型!在你的情况下,
with open(documentFileName+".bin", "rb") as binFile:
document = binFile.read()
会很好的!
顺便请注意,我已经删除了您使用的多余括号 -- "no unneeded pixels!!!" -- 但是,虽然很重要!但这是您的目标的一个附带问题。
现在,假设 Python 2,document
是一个 str
-- 一个不可变的字节数组。显示 document
将其显示为字符串可能会造成混淆,但这只是 Py2 对文本和字节字符串的混淆(在 Py3 中,返回的类型将是 bytes
)。
如果您更喜欢使用(例如)int
的可变数组,请使用例如
theints = map(ord, document)
或者,对于以数字显示的不可变字节数组,
import array
thearray = array.array('b', document)