【发布时间】:2017-10-24 17:21:22
【问题描述】:
当我在 for 中找到 a 键值时如何打印“ok”
>>> with dbm.open('data1.db','r') as user:
user['0'] = '1'
user['1'] = '2'
user['2'] = '3'
for i in user:
if '3' in user[str(i)]:
print('ok')
Traceback (most recent call last):
File "<pyshell#146>", line 3, in <module>
if '3' in user[str(i)]:
File "C:\Users\ThomasNote\AppData\Local\Programs\Python\Python36-32\lib\dbm\dumb.py", line 148, in __getitem__
pos, siz = self._index[key] # may raise KeyError
KeyError: b"b'0'"
在这里我可以打印键值和键中包含的数据,但我只想在包含的键值中搜索一个单词。
with dbm.open('data1.db','r') as user:
for i in user:
print(i.decode(), user[i].decode())
>>> 0 1
>>> 1 2
>>> 2 3
【问题讨论】: