Python str不可调用错误

时间:2012-03-09 14:57:21

标签: python

我知道我在这里遗漏了一些简单的东西:

>>> mystring = "abcdefghijk"
>>> if mystring(len) > 9:
...     mySlice = mystring[:8]

我只想将“mystring”切换为8个字符,为什么我收到此错误:

  

运行时错误:'str'对象不是   调用

谢谢!

6 个答案:

答案 0 :(得分:5)

你的语法错误(你试图调用“mystring”)。 这应该有效:

>>> mystring = "abcdefghijk"
>>> if len( mystring ) > 9:
...     mySlice = mystring[:8]

答案 1 :(得分:3)

mystring(len)更改为len(mystring)

答案 2 :(得分:2)

您需要使用len(mystring)代替mystring(len)

你要么将它与一个对象方法类型的调用混淆,例如mystring.len()(也不起作用),犯了轻微错误,或者是诵读困难: - )

我猜它是这三个中间的。

答案 3 :(得分:1)

它变为len(字符串),并且无论如何调用函数都是string.func()。

答案 4 :(得分:1)

其他人指出错误,但您可以立即截断它。无需检查长度(如果您不想在那里添加一些省略号):

foo = 'textual data'
print foo[:100]

答案 5 :(得分:0)

错误信息包含相应的行号。