Python中文
首页
教程
问答
标签
搜索
登录
注册
将整个二进制文件读入Python
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要从Python导入一个二进制文件——内容是有符号的16位整数,big endian。</p> <p>下面的堆栈溢出问题建议如何一次拉入几个字节,但这是一种放大到整个文件中读取的方法吗?</p> <ul> <li><p><em><a href="https://stackoverflow.com/questions/1035340/reading-binary-file-in-python">Reading some binary file in Python</a></em></p></li> <li><p><em><a href="https://stackoverflow.com/questions/875046/recieving-16-bit-integers-in-python">Receiving 16-bit integers in Python</a></em></p></li> </ul> <p>我想创建一个函数,比如:</p> <pre><code>from numpy import * import os def readmyfile(filename, bytes=2, endian='>h'): totalBytes = os.path.getsize(filename) values = empty(totalBytes/bytes) with open(filename, 'rb') as f: for i in range(len(values)): values[i] = struct.unpack(endian, f.read(bytes))[0] return values filecontents = readmyfile('filename') </code></pre> <p>但这相当慢(文件是165924350字节)。有更好的办法吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>一次读取和解包两个字节</p> <pre><code>values[i] = struct.unpack(endian,f.read(bytes))[0] </code></pre> <p>为什么不一次读1024字节呢?</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
2 回答
Pyvisa IOerror设备:Korad K3005d电源
9 回答
PyVISA mac OS X(山狮)安捷伦33250
3 回答
Pyvisa Pyusb无法加载大于1 MB的序列
6 回答
pyVisa RS232太慢
10 回答
PyVISA RS232超时错误(安捷伦电源)
7 回答
PyVISA SCPI命令和查询(值更新问题)
4 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
4 回答
pyvisa,未找到函数viOpen
4 回答
pyVISA:以编程方式将仪器返回到本地模式
3 回答
pyvisa:接口类型是什么意思?
3 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
6 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
10 回答
PyVisapy后端
8 回答
PyVISA不能写入超过7F的十六进制字符
9 回答
PYVISA中的ENUM模块和cStringIO模块
3 回答
PyVisa代码的图形用户界面
6 回答
Pyvisa使用按键电源超时
1 回答
PyVISA和Kethley 2701只能从一个通道获取结果
7 回答
PyVisa和Printing New D
9 回答