查找Python中搜索的字符串的行号
在上述代码中,不存在检查行号以使request=100和response=200落在同一行中的情况。我需要的 另外,我只想在满足以下条件时将结果打印为“通过”查找Python中搜索的字符串的行号,python,string,search,Python,String,Search,在上述代码中,不存在检查行号以使request=100和response=200落在同一行中的情况。我需要的 另外,我只想在满足以下条件时将结果打印为“通过” def c1(): logfile = open("D:\myfile.txt", 'r') for num1, line in enumerate(logfile): if "request=100" in line: pri
def c1():
logfile = open("D:\myfile.txt", 'r')
for num1, line in enumerate(logfile):
if "request=100" in line:
print num1
return True
return False
def c2():
logfile = open("D:\myfile.txt", 'r')
for num2, line in enumerate(logfile):
if "response=200" in line:
print num2
return True
return False
if c1() == True and c2() == True:
print "Test Case Passed"
else:
print "Test Case Failed"
如果出现以下情况,则结果为“失败”:
假设“myfile”包含以下数据:
- if any one line which consists of "request=200" and "response=200"
- if any one line which consists of "request=100" and "response=100"
- or any case in which no line should have apart from "request=100" and "response=200"
在上面的文件中,结果是失败,因为请求和响应的值与所需值不同。只有第5行具有正确的值,因此结果失败。如果我理解正确,您应该将两个条件放在一个循环中,并保持循环,直到到达该行的末尾,或者遇到另一行具有该条件:
request=100 XXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXXXXXXXXXXXXXX response=200 XXXXXXXXX \n
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXX request=100 XXXXX response=200 XXXXXXXXXXX \n
XXXXXXX request=200 XXXXXX response=100 XXXXXXX \n
XXXXXXXX request=100 XXXX response=100" \n
除您提到的失败条件外,还有其他失败条件。但你提到的这两个并不是相互排斥的
编辑:不,等等,从示例判断,这是错误的。我无法理解你的处境。也许这有助于你获得一个想法,如果没有,请用另一个例子来说明条件
request=100 XXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXXXXXXXXXXXXXX response=200 XXXXXXXXX \n
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \n
XXXX request=100 XXXXX response=200 XXXXXXXXXXX \n
XXXXXXX request=200 XXXXXX response=100 XXXXXXX \n
XXXXXXXX request=100 XXXX response=100" \n
def are_they_on_the_same_line():
logfile = open("D:\myfile.txt", 'r')
intermediate_result = False
for num1, line in enumerate(logfile):
if "request=100" in line and "response=200":
if intermediate_result == True:
return False
intermediate_result = True
return intermediate_result