使用split时Python内置函数方法异常

时间:2015-03-08 21:56:38

标签: python python-2.7

这是我的代码:

value = '20.15-03-03-T:54:12G'

我想拍摄前10个字符

我试过了:

newValue = value.split[:9]

我也尝试了这个:

newValue = value.split[0:9]

在这两种情况下,我得到了:

TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

我尝试通过互联网进行搜索,但似乎出现这种异常的原因太多了,我没有找到split函数。

3 个答案:

答案 0 :(得分:2)

您正在访问str.split() method而未调用它:

>>> ''.split
<built-in method split of str object at 0x10c7ae848>

您无法对方法进行切片,也不能希望在分隔符上拆分字符串。只需对字符串进行切片,您根本不需要str.split()方法:

newValue = value[:9]

请注意,这会为您提供第一个九个字符,而不是前10个字符。如果您想要前10个字符,则为10切片:

newValue = value[:10]

演示:

>>> value = '20.15-03-03-T:54:12G'
>>> value[:9]
'20.15-03-'
>>> value[:10]
'20.15-03-0'

答案 1 :(得分:1)

您应该使用:

newValue = value[:10]

答案 2 :(得分:0)

在区间[a, b)上对切片进行切片,这意味着不包括左端点:

value[:10] # start at 0 and up to but not including 10, for a total of 10 chars

你还应该知道split是一种方法,你无法切片。你没有必要。