无在Python 2.6中键入问题

时间:2011-04-02 01:16:59

标签: python

我正在编写一个脚本,我从数据库中获取一些值,但有时这个值可能是None,但是当我将它分配给变量并尝试比较它时,我得到了这个错误:

TypeError: 'NoneType' object is unsubscriptable

我已经尝试过了:

if sgSlate[ 'sg_client_2' ][ 'name' ] != None:
    self.ui.brandComboBox_2.setEditText( sgSlate[ 'sg_client_2' ]['name' ] )

if not isinstanceof( sgSlate[ 'sg_client_2' ][ 'name' ], None ) != "":
    self.ui.brandComboBox_2.setEditText( sgSlate[ 'sg_client_2' ]['name' ] )

if sgSlate[ 'sg_client_2' ][ 'name' ] is not None:
    self.ui.brandComboBox_2.setEditText( sgSlate[ 'sg_client_2' ]['name' ] )

if type( sgSlate[ 'sg_client_2' ][ 'name' ]) is not type(None):
    self.ui.brandComboBox_2.setEditText( sgSlate[ 'sg_client_2' ]['name' ] )

并且没有一个工作。

提前谢谢。

1 个答案:

答案 0 :(得分:9)

当您尝试对[]变量执行None操作时,会出现无法保留的错误。因此,在这种情况下,sgSlate['sg_client_2']值很可能是None,而不是sgSlate['sg_client_2']['name']本身。