这是我的代码:
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
函数。
答案 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是一种方法,你无法切片。你没有必要。