Library for loading and manipulating hex files.
Project description
hexfile
=======
This is a simple library for parsing hex files. Currently only intel hex files are supported.
Installation
------------
You can use the included setup.py or use your pip to install it from PyPI
Usage
-----
To create a HexFile object use hexfile.load:
```python
import hexfile
f = hexfile.load('memory.hex')
```
The `HexFile` object is composed of one or more memory segments, which may be discontinuous. You can access the contents of the hex file as though it were an array of bytes:
```python
print f.size # Total number of bytes in the hexfile (NOT the total span of all addresses)
byte = f[16] # Returns the byte at address 16 (as an int)
bytes = f[256:512] # Returns 256 bytes as a list
print f.segments # Display all the segments in the hex file
```
The `HexFile` object also supports iteration, but rather than iterating over byte values as if it were a list, it includes the byte addresses, as if it were enumerated. This is because the file might be discontinuous, so addresses are frequently needed during iteration.
```
for addr, data in f:
print '0x%08x : 0x%02x' % (addr, data) # Print every byte in the hex file and its 32-bit address
```
=======
This is a simple library for parsing hex files. Currently only intel hex files are supported.
Installation
------------
You can use the included setup.py or use your pip to install it from PyPI
Usage
-----
To create a HexFile object use hexfile.load:
```python
import hexfile
f = hexfile.load('memory.hex')
```
The `HexFile` object is composed of one or more memory segments, which may be discontinuous. You can access the contents of the hex file as though it were an array of bytes:
```python
print f.size # Total number of bytes in the hexfile (NOT the total span of all addresses)
byte = f[16] # Returns the byte at address 16 (as an int)
bytes = f[256:512] # Returns 256 bytes as a list
print f.segments # Display all the segments in the hex file
```
The `HexFile` object also supports iteration, but rather than iterating over byte values as if it were a list, it includes the byte addresses, as if it were enumerated. This is because the file might be discontinuous, so addresses are frequently needed during iteration.
```
for addr, data in f:
print '0x%08x : 0x%02x' % (addr, data) # Print every byte in the hex file and its 32-bit address
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hexfile-0.1.1.tar.gz
(2.9 kB
view details)
File details
Details for the file hexfile-0.1.1.tar.gz
.
File metadata
- Download URL: hexfile-0.1.1.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44bc78c7f6ff531c1af7c1e5bcea8a327d17139d789e9f4fc3ad228030009459 |
|
MD5 | 5d7c30475959d8dee2b454f06db21506 |
|
BLAKE2b-256 | db33449e0144debb721085bd7d09689029cdbb927c7f0dd2000cb726420db746 |