2010-03-24 3 views
1

Je souhaite imprimer la ligne immédiatement avant la chaîne recherchée. Comment puis je faire ça?Obtention de la ligne précédente dans Jython

disent mes deux Lets lignes sont

AADRG 
SDFJGKDFSDF 

et je cherche SDF. J'ai trouvé SDFJGKDFSDF, mais comment puis-je obtenir la ligne précédente AADRG? Est-ce que file.readline()-1 fonctionne?

+0

ce qui se passe à ceci: http://stackoverflow.com/questions/2504899/string-search-and-write-into-file-in-jython – ghostdog74

Répondre

4
lastLine = "" 
for line in lines: 
    if line.find("SDF"): 
     print lastLine 

    lastLine = line 

ou

lines = open("file").readlines() 
for line in lines: 
    if "SDF" in line: 
     # test for not being the first line of course. 
     print lines[lines.index(line) - 1] 
+1

Vous pouvez utiliser "" SDF "dans la ligne' au lieu de' string.find() ' – Messa

+0

Ou au moins utiliser 'abc'.find (' b ') au lieu du module de chaîne. –

Questions connexes