Dzh*_*hao 3 python file-io python-3.x
我试图分析一些二进制文件,并假设Python的read()函数返回了本文和Tutorials Point 文章中的字符串.
然而,当我弄乱read()自己时,我得到的东西不是我读到的东西.
>>> with gzip.open('RTLog_20150424T194428.gz') as f:
a = f.read(3)
print(a)
type(a)
b'use'
<class 'bytes'>
>>> a
b'use'
>>> str(a)
"b'use'"
>>> b = 'asdfasdfasdf'
>>> type(b)
<class 'str'>
>>>
Run Code Online (Sandbox Code Playgroud)
当我自己测试时,read()调用的输出返回一个<class 'bytes'>对象,而不是一个<class 'str'>对象.
我得不到什么?
您可以打开rb或rt模式(默认为读取二进制,为您提供字节).这在gzip.opendocstring中提到:
对于二进制模式,mode参数可以是"r","rb","w","wb","x","xb","a"或"ab",或"rt","wt","用于文本模式的xt"或"at".默认模式为"rb",默认的compresslevel为9.
如果mode="rt"在打开时传递关键字参数(并且您知道正确的编码),那么在调用read方法时应该返回一个字符串.
| 归档时间: |
|
| 查看次数: |
3540 次 |
| 最近记录: |