テキストファイルをサブセット付きの辞書に変換する関数を作成しようとしています。これまでにロードしたテキストドキュメントは、次のように表示されます。
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号室が2回表示されていることに気づきました...私の質問は、テキストファイルの読み込みにどのようにアプローチするかということです。すべてのコードがフォーマットされていることを確認する必要がありますか、それともサブセットを含む辞書に変換する関数を作成するだけですか?私は辞書に慣れていないので、少し助けていただければ幸いです。ありがとう