python、字典和int错误

python、字典和int错误,python,dictionary,global,Python,Dictionary,Global,我有一个非常令人沮丧的python问题。在此代码中 fixedKeyStringInAVar = "SomeKey" def myFunc(a, b): global sleepTime global fixedKeyStringInAVar varMe=int("15") sleepTime[fixedKeyStringInAVar] = varMe*60*1000 #more code 现在这是可行的。但有时当我运行这个函数时 TypeError:

我有一个非常令人沮丧的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
这是非常恼人的,因为我尝试了几个测试用例,但无法再现错误,但在运行完整代码时,这种情况经常发生。代码从数据库、访问站点等读取数据,因此我很难浏览这些数据,因为它从多个来源读取数据,并且依赖于第三方的输入(网站)


这个错误可能是什么?

您的睡眠时间是一个全局变量。它可以在程序中的某个点更改为int


项目分配是函数中的“foo[bar]=baz”结构。

您的睡眠时间是一个全局变量。它可以在程序中的某个点更改为int

项分配是函数中的“foo[bar]=baz”结构

  • 不要在函数中使用
    global
    关键字,除非您希望更改全局名称的绑定

  • 在代码中搜索“
    sleepTime=
    ”。您正在程序中的某个点将int对象绑定到
    sleepTime
    名称

  • 不要在函数中使用
    global
    关键字,除非您希望更改全局名称的绑定

  • 在代码中搜索“
    sleepTime=
    ”。您正在程序中的某个点将int对象绑定到
    sleepTime
    名称


  • 您是否可以在错误上添加堆栈跟踪,或者至少在错误发生的哪一行上添加堆栈跟踪?代码中的换行符也被弄乱了,因为您没有格式化它(每行开头有四个空格)。如果您这样做,它将更容易阅读。您可以在错误上添加堆栈跟踪,或者至少在错误发生的哪一行添加堆栈跟踪?代码中的换行符也被弄乱了,因为您没有格式化它(每行开头有四个空格)。如果你这样做,它会更容易阅读。是的,我在一个地方做了sleepTime=int。问题是。。。在移动代码时,我碰巧有相同的变量名。我把它改为waitTime,把全局设置为sleepTime。是的,我在一个地方设置了sleepTime=int。问题是。。。在移动代码时,我碰巧有相同的变量名。我把它改成了waitTime,离开了global进入了睡眠时间。