SyntaxError追溯到文件“<string>”第19行</string>

时间:2014-05-14 05:34:04

标签: python python-3.x

每当我运行我的代码时,它会给我一个我不理解的SyntaxError,并且总是指向这段代码的第二行:

gen_item = '''
def__getitem__(self,index):
    if type(index) == str:
        if index not in self._fields:
            raise IndexError("Index matches no fields.")
        else:
            return self.index
    elif type(index) == int:
        if index > len(self._fields) - 1:
            raise IndexError("Index out of range.")
        else:
            return self._fields[index]\n'''

消息&#34;文件&#34;&lt;串GT;&#34;第19行&#34;。我不确定问题是什么,因为这是一个很大的三重引号字符串。我使用的是Python 3.3。

1 个答案:

答案 0 :(得分:2)

SyntaxError正在被exec字符串In [209]: s = ''' ...: blah blah blah syntax error ...: ...: blah blah''' In [210]: exec(s) File "<string>", line 2 blah blah blah syntax error ^ SyntaxError: invalid syntax 提升。正是如此:

def__getitem__(self,index):

您的实际语法错误是:

def

您错过了__getitem__和{{1}}之间的空格。