我正在尝试编写一个函数,它将我的文本文件变成带有子集的字典。到目前为止我加载的文本文档显示如下:
101
102
103
201, John Cleese, 5/5/12, 5/7/12
202
203, Eric Idle, 7/5/12, 8/7/12
301
302
303
该函数的结果应该加载信息并将其返回为:
[('101', None), ('102', None), ('103', None),
('201', Guest(John Cleese, 05/05/12, 05/07/12)), ('202', None),
('203', Guest(Eric Idle, 07/05/12, 08/07/12)), ('301', None),
('302', None), ('303', None)]
我一直在尝试 isdigit 但无济于事。我设法让最后一个房间(303)几乎可以正常工作。
def load_rooms(self, filename):
fd = open(filename, 'rU')
self._rooms = {}
for i in fd:
i = i.rstrip()
print i
if i.isdigit():
self._rooms[i] = None
print self._rooms
else:
print i
显示
101
102
103
201, John Cleese, 5/5/12, 5/7/12
202
203, Eric Idle, 7/5/12, 8/7/12
301
302
303
{'303': None}
哦,哇,我刚刚注意到房间 303 显示了两次......我的问题是,我将如何加载文本文件?我是否必须确保所有代码都采用格式,或者我可以只编写一个函数将其转换为带有子集的字典吗?我对字典很陌生,所以一点帮助会很棒。谢谢