我尝试使用string.find
方法来切出浮点数。
我可以使用以下内容确定:
位于第18位:substr1a = substr1.find(':')
但我无法提取我需要的东西。
substr1 = 'X-DSPAM-Confidence: 0.8475'
substr1a = substr1.find(':')
substr1b = substr1.find[substr1a,30 ]
print substr1b
Traceback (most recent call last):
line 8, in <module>
substr1b = substr1.find[substr1a,30 ]
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
答案 0 :(得分:0)
TypeError:&#39; builtin_function_or_method&#39;对象没有属性&#39; getitem &#39;
此错误表示您尝试使用方括号将对象视为序列。这是方括号的作用:指向en元素或有序序列中的子序列(如字符串或列表)。
string.find
是一个函数而不是有序序列,但字符串本身就是一个序列。
string = 'X-DSPAM-Confidence: 0.8475'
#the number starts after the space character, which is next to the colon.
# here we use round brackets
substr_start = string.find(' ')
# to actually get the substring from a string we have to slice it
# for slicing we use square brackets
# [n:] means from n to the end
substring = string[substr_start:]
# Here's another way. We split the string by ':' and take the second element
# .strip() removes extra space
substring2 = string.split(':')[1].strip()