当前位置:Gxlcms > 数据库问题 > Python之dbm模块的使用

Python之dbm模块的使用

时间:2021-07-01 10:21:17 帮助过:29人阅读

dbm.gnu
dbm.ndbm
dbm.dumb

 1、dbm模块创建一个简单的数据库

技术图片
#!/usr/bin/env python3
# encoding: utf-8

import dbm

with dbm.open(example.db, n) as db:
    db[key] = value
    db[today] = Monday
    db[author] = suk
dbm_new.py

运行效果

[root@python-mysql mnt]# python3 dbm_new.py 

[root@python-mysql mnt]# ll
-rw-r--r-- 1 root root  171 Jan 12 16:18 dbm_new.py
-rw-r--r-- 1 root root   52 Jan 12 16:19 example.db.bak
-rw-r--r-- 1 root root 1027 Jan 12 16:19 example.db.dat
-rw-r--r-- 1 root root   52 Jan 12 16:19 example.db.dir

 2、dbm模块查看数据存储格式

技术图片
#!/usr/bin/env python3
# encoding: utf-8

import dbm

print(dbm.whichdb(example.db))
dbm_whichdb.py

运行效果

[root@python-mysql mnt]# python3 dbm_whichdb.py 
dbm.dumb

 3、dbm模块读取数据库

技术图片
#!/usr/bin/env python3
# encoding: utf-8

import dbm

with dbm.open(example.db, r) as db:
    print(keys(), db.keys())

    for k in db.keys():
        print(迭代数据:, k, db[k])

    print("db[‘author‘]", db[author])
dbm_read.py

 运行效果

[root@python-mysql mnt]# python3 dbm_read.py 
keys() [bkey, btoday, bauthor]
迭代数据: bkey bvalue
迭代数据: btoday bMonday
迭代数据: bauthor bsuk
db[author] bsuk

4、dbm模块设置值key必须是字符串或字节类型

技术图片
#!/usr/bin/env python3
# encoding: utf-8

import dbm

with dbm.open(example.db, w) as db:
    try:
        db[1] = one
    except TypeError as err:
        print(err)
dbm_intkeys.py

运行效果

[root@python-mysql mnt]# python3 dbm_intkeys.py 
keys must be bytes or strings

 5、dbm模块设置值value必须是字符串或字节类型

技术图片
#!/usr/bin/env python3
# encoding: utf-8

import dbm

with dbm.open(example.db, w) as db:
    try:
        db[one] =1
    except TypeError as err:
        print(err)
dbm_intvalue.py

 运行效果

[root@python-mysql mnt]# python3 dbm_intvalue.py 
values must be bytes or strings

Python之dbm模块的使用

标签:byte   bytes   --   hide   port   hid   lap   python3   event   

人气教程排行