¿Cómo hacer coincidir una subcadena en un caso de cadena ignorando?

Estoy buscando ignorar la comparación de cadenas de casos en Python. Lo intenté con:

if line.find('mandy') >= 0: 

pero no hay éxito para ignorar el caso. Necesito encontrar un conjunto de palabras en un archivo de texto dado. Estoy leyendo el archivo línea por línea. La palabra en una línea puede ser mandy , Mandy , MANDY , etc. (No quiero usar toupper / tolower , etc.).

Estoy buscando el equivalente de Python del código Perl a continuación.

 if($line=~/^Mandy Pande:/i) 

Si no quieres usar str.lower() , puedes usar regexp:

 import re if re.search('mandy', 'Mandy Pande', re.IGNORECASE): # is True 

Hay otro post aquí . Intenta mirar esto.

Por cierto, estás buscando el método .lower() :

 string1 = "hi" string2 = "HI" if string1.lower() == string2.lower(): print "Equals!" else: print "Different!" 
 a = "MandY" alow = a.lower() if "mandy" in alow: print "true" 

trabajar alrededor

 import re if re.search('(?i)Mandy Pande:', line): ... 

Ver esto

 In [14]: re.match("mandy", "MaNdY", re.IGNORECASE) Out[14]: <_sre.SRE_Match object at 0x23a08b8> 

Tratar:

 if haystackstr.lower().find(needlestr.lower()) != -1: # True