my_字符串[0]将字符串索引抛出Python中的范围之外
我从日志中提取api调用作为字符串,将它们存储在一个文件中,然后在另一个进程中从这个文件中读取它们。 我想捕捉现有的行,长度大于5,以双引号开始my_字符串[0]将字符串索引抛出Python中的范围之外,python,string,Python,String,我从日志中提取api调用作为字符串,将它们存储在一个文件中,然后在另一个进程中从这个文件中读取它们。 我想捕捉现有的行,长度大于5,以双引号开始 if (input_string): if (len(input_string)>5): if (input_string[0] == '"'): 引发以下异常: File "/home/api_calls_simulator.py", line 58, in doWork if (input_string[0
if (input_string):
if (len(input_string)>5):
if (input_string[0] == '"'):
引发以下异常:
File "/home/api_calls_simulator.py", line 58, in doWork
if (input_string[0] == '"'):
IndexError: string index out of range
输入字符串来自:
call_file = open("./myfile.txt")
for input_string in call_file:
匹配行的示例:
"/api/v2/product/id/2088?user_name=website&key=secretkey&format=json" 200 2790 "-" hit
我这里遗漏了什么?您能给我们输入字符串的值或任何可能帮助您的信息吗?在最后一次检查是否以双引号开头之前打印,并检查在抛出错误的那一刻输入字符串的值是多少。也可以像上面提到的卢卡斯那样使用
somestring.startswith()
。还有三个嵌套的,如果可以组合在一行中,则无需嵌套它们。您确定input\u string
是一个字符串,而不仅仅是一些伪集合吗?请尝试将此代码放在Try except块周围,并在出现错误时打印字符串。还有,那些真的是弦吗?AFAIK字符串在python中是不可变的,因此您不应该影响它的内容,但是如果是其他类,另一个线程可能会更改它。使用try/catch块来尝试if并捕获异常,在例外情况下,请打印input\u string
及其类型。您能告诉我们input\u string的值或任何可能对您有帮助的信息吗?在最后一次检查是否以双引号开头之前进行打印,并检查在抛出错误的那一刻input\u string
的值是多少。也可以像上面提到的卢卡斯那样使用somestring.startswith()
。还有三个嵌套的,如果可以组合在一行中,则无需嵌套它们。您确定input\u string
是一个字符串,而不仅仅是一些伪集合吗?请尝试将此代码放在Try except块周围,并在出现错误时打印字符串。还有,那些真的是弦吗?AFAIK字符串在python中是不可变的,因此您不应该影响它的内容,但是如果是其他类,另一个线程可以更改它。使用try/catch块,尝试if并捕获异常,然后在异常中打印输入字符串及其类型。