2017-05-03 2 views
-5

Unten in Python zu gefundenen String Linien löschen wird die Datei AusgabeMatch-String und

xyz abc 
abc xyz 
apple orranges fruits 
train bus flight 
     airbus greatbus 
vegetables not in place. 

Ich habe Muster „Zugbus Flug“ zu finden und löschen Sie alle die oben genannten Linien Zugbus Flug umfassen

Ausgabe sollte sein:

 airbus greatbus 
vegetables not in place. 

Könnte jemand bitte vorschlagen.

Dank

+1

Also was hast du probiert? Zeigen Sie uns Ihren Code und das Problem, denen Sie gegenüberstehen – kuro

Antwort

0

Überprüfen Sie einfach, wenn jeder lin e enthält den gesuchten Text.

# Assuming the input file is called "input.txt" 
with open('input.txt', 'r') as fin: 
    # Read all the lines 
    buff = iter(fin.readlines()) 

# For the output file do the following 
with open('output.txt', 'w') as fout: 
    # Iterate over every line 
    for line in buff: 
    # Check if the text you look for is not in the line 
    if "train bus flight" not in line: 
     # If not found check next line 
     continue 
    else: 
     # Another for loop to start from where you are 
     for line in buff: 
     # Write the rest of the lines 
     fout.write(line) 
0

Haben Sie die Zeile löschen möchten, die alle drei genannten Wort in jeder Position dieser Linie hat? Ich bin mir nicht sicher, warum die Zeilen xyz abc und abc xyz gelöscht werden. Diese haben train bus flight in ihnen nicht.

Dann ist hier eine Möglichkeit, dies zu tun.

Python 3 Lösung:

with open("a.txt","r") as fp: 
    line_list = fp.readlines() 
    for line in line_list: 
     if all(word in line for word in ["train", "bus", "flight"])==False: 
      print(line[:-1]) 

Ausgang:

xyz abc 
abc xyz 
apple orranges fruits 
     airbus greatbus 
vegetables not in place 

a.txt:

xyz abc 
abc xyz 
apple orranges fruits 
train bus flight 
     airbus greatbus 
vegetables not in place. 
+0

Ich möchte alle Zeilen löschen, bis String macched .. das ist der Grund, dass diese gelöscht werden – gopinara

+0

ich die Frage korrigiert – gopinara