gdbm-iter.py 430 B

12345678910111213141516171819
  1. #!/usr/bin/env python3
  2. # depends (debian) python3-gdbm
  3. import dbm
  4. import sys
  5. list = sys.argv[1]
  6. def gdbm_iter_keys(dbpath):
  7. with dbm.open(dbpath, 'r') as db:
  8. k = db.firstkey()
  9. while k is not None:
  10. yield k, db.get(k)
  11. k = db.nextkey(k)
  12. members = filter(lambda x: x[1], gdbm_iter_keys(list))
  13. for k, v in dict(members).items():
  14. print(k.decode('utf-8'))
  15. print(v.decode('utf-8'))