質問

非常にイライラするPythonの問題があります。このコードでは

fixedKeyStringInAVar = "SomeKey"

def myFunc(a, b):
    global sleepTime
    global fixedKeyStringInAVar
    varMe=int("15")
    sleepTime[fixedKeyStringInAVar] = varMe*60*1000
    #more code

これで機能します。しかし、この関数を実行すると時々次のようなメッセージが表示されます

TypeError: 'int' object does not support item assignment

いくつかのテストケースを試しましたがエラーを再現できなかったので、非常に迷惑ですが、コード全体を実行すると非常に頻繁に発生します。コードはデータベースからデータを読み取り、サイトなどにアクセスします。データは複数のソースから読み取られ、変更されるサードパーティの入力(Webサイト)に依存するため、データを確認するのは困難です。

このエラーは何でしょうか?

役に立ちましたか?

解決

  1. 使用しないでください global グローバル名のバインディングを変更する場合を除き、関数内のキーワードを使用してください。

  2. 検索する 'sleepTime =' コードに含めてください。int オブジェクトをバインドしています sleepTime プログラムのある時点で名前を付けます。

他のヒント

あなたのスリープ時間は、グローバル変数です。あなたのプログラムの中でいくつかの点でint型に変更することができます。

項目の割り当ては、あなたの関数で "fooの[バー] =バズ" の建設をされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top