2017-08-07 12 views
-1

現在の状況: 私はDiscordのAPIを使用して、サーバー内のメンバーオブジェクトの辞書を取得しています。この辞書は、新しいメンバーが加わり、古いメンバーが離れると常にサイズが変わります。Pythonで絶えず変化するオブジェクトの辞書を扱うにはどうすればよいですか?

私は現在、約30分の実行時間を持つプログラムを持っており、メンバオブジェクトのこの辞書にアクセスするので、私のプログラムでこの辞書のサイズを変更すると保証されます。これは私のforループにエラーを引き起こします。私もdeepcopyこの辞書には見えません。

TypeError: can't pickle dict_values objects

どのように私はこの問題を回避できますか?

コード:
for i in members: do something; < ---これは、これも動作しませんしようとサイズ
内のメンバーの変化が起きている間:
温度= copy.deepcopy(メンバー)
これは辞書が何であるかです: dict_values([<discord.member.Member object at 0x1094b3268>、<discord.member.Member object at 0x1094b32f0>など

+0

サウンドあなたがmutexでそれを保護する必要があるかもしれません。それを変えるのは何ですか?あなたのコードや他の何か? –

+0

ちょうどここに何かを投げ捨てる:データベースに入れるかもしれない? –

+0

'TypeError:dict_valuesオブジェクトを取り除くことができません。だから、正確に何をしているのですか?これはあなたにこのエラーを与えています。これは 'pickle.dumps(some_dict.values())'のようなもので起こります。 –

答えて

0

は、ここで私は私の問題を解決することになった方法は次のとおりです。
temp = copy.deepcopy(list(members))

関連する問題