无法在Python中换行

时间:2013-11-01 23:12:18

标签: python indentation

else:
      fullName = curLineFin[1] + ' ' + curLineFin[2]
      players[fullName] = curLineFin[0] + '\t' + curLineFin[1] + \
      '\t' + curLineFin[2] + '\t' + curLineFin[3] + '\t' + \
      curLineFin[4] + '\t' + curLineFin[5] + '\t' + curLineFin[6] + \
      '\t' + curLineFin[7] + '\t' + curLineFin[8] + '\t' + \
      curLineFin[9] + '\t' + curLineFin[10] + '\t'

每次运行脚本时,都会收到错误:

players[fullName] = curLineFin[0] + '\t' + curLineFin[1] + \
                                                           ^

IndentationError:unindent与任何外部缩进级别

不匹配

3 个答案:

答案 0 :(得分:3)

用括号包裹您的代码

players[fullName] = (curLineFin[0] + '\t' + curLineFin[1] + 
      '\t' + curLineFin[2] + '\t' + curLineFin[3] + '\t' + 
      curLineFin[4] + '\t' + curLineFin[5] + '\t' + curLineFin[6] + 
      '\t' + curLineFin[7] + '\t' + curLineFin[8] + '\t' + 
      curLineFin[9] + '\t' + curLineFin[10] + '\t' )

players[fullName] = '\t'.join(curLineFin[:11]) + '\t'

或者如果不需要此尾随制表符char,并且curLineFin中只有11个元素。

players[fullName] = '\t'.join(curLineFin) 

答案 1 :(得分:1)

只需使用括号:

fullName = (curLineFin[1] + ' ' + curLineFin[2] +
      players[fullName] = curLineFin[0] + '\t' + curLineFin[1] + 
      '\t' + curLineFin[2] + '\t' + curLineFin[3] + '\t' + 
      curLineFin[4] + '\t' + curLineFin[5] + '\t' + curLineFin[6] + 
      '\t' + curLineFin[7] + '\t' + curLineFin[8] + '\t' + 
      curLineFin[9] + '\t' + curLineFin[10] + '\t')

答案 2 :(得分:1)

您发布的代码不会产生该错误,因此无法准确诊断您实际运行的不同代码中发生了什么。< / p>

最可能的原因是它与反斜杠完全无关,而且您正在做混合制表符和空格的操作。 (你为这个块使用了一个奇怪的6个字符的缩进这一事实并不是一个好兆头......)

另一种可能性是你在其中一个反斜杠之后放置了额外的空格。这个应该通常会给你一个SyntaxError: unexpected character after line continuation character,但是可以将Python混淆到传递的位置,并且你得到SyntaxError的{​​{1}} 1}}没有右操作数或+用于下一行。