我知道我在这里遗漏了一些简单的东西:
>>> mystring = "abcdefghijk"
>>> if mystring(len) > 9:
... mySlice = mystring[:8]
我只想将“mystring”切换为8个字符,为什么我收到此错误:
运行时错误:'str'对象不是 调用
谢谢!
答案 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)
错误信息包含相应的行号。