Read mdx/mdd files (repacking of readmdict from mdict-analysis)
This is a repacking of readmdict.py
in https://github.com/csarron/mdict-analysis. All credit goes to the original author(s).
If python-lzo
is not present, you' ll see "LZO compression support is not available" when running readmdict
.
pip install python-lzo
# or poetry add python-lzo
In Windows without a functioning C++ environment, you won't be able to install python-lzo
via pip
. Head to
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-lzo. Download and install python-lzo
whl for your python version.
pip install readmdict
# or poetry add readmdict
- Browse a mdx or mdd file and print its meta information
readmdict
or
python -m readmdict
- Print meta info of a file
file.mdx
readmdict file.mdx
or
python -m readmdict file.mdx
- Print a short summary
readmdict -h
or
python -m readmdict -h
from readmdict import MDX, MDD
filename = "some.mdx"
headwords = [*MDX(filename).header]
print(headwords[:10]) # fisrt 10 in bytes format
for hdw in headwords[:10]:
print(hdw.decode()) # fisrt 10 in string format
items = [*MDX(filename).items()]
for key, val in items[:10]:
print(key.decode(), val.decode()) # first 10 entries
# read an mdd file
filename = "some.mdd"
items = MDD(filename).items()
idx = 0
for filename, content in items:
idx += 1
if idx > 10:
break
print(filename.decode(), content.decode()) # first 10 entries