2016-03-24 10 views
2

So extrahieren Sie einen Text in einer Datei mit Python. - Ein Text beginnt mit Chaine.So extrahieren Sie einen Text in einer Datei Python

Mein Code ist

fichier= open("Service.txt", "r") 
for ligne in fichier: 
    if ligne==chaine: 
    #What do I do ? 
fichier.close() 
+2

Verwenden Sie 'if ligne.startswith (" chaine ")' dann machen Sie mit ligne was Sie wollen. – Lafexlos

+0

Sie möchten den gesamten Text ab der Zeile beginnend mit chaine extrahieren? –

+0

Bienvenue sur Stack Overflow :) Es wird einfacher für Sie, auf lange Sicht Hilfe zu bekommen, wenn Sie sich bemühen, auf Englisch zu programmieren. Sie brauchen kein großes Vokabular. –

Antwort

1

Wenn ich Frage richtig verstanden:

test.txt

fsdfj ljkjl 
sdfsdf ljkkk 
some ldfff 
fffl lll 
ppppp 

Skript:

chaine = 'some' 

with open("test.txt", "r") as f: 
    text = f.read() 
    i = text.find(chaine) 
    print(text[i:]) 

Ausgabe:

some ldfff 
fffl lll 
ppppp 
+0

Danke euch allen.Danke – HICHEM

1

Sie haben in Operator mit Zeichenfolge zu überprüfen.

Wie

>>> a = "cheine is good" 
>>> "cheine" in a 
True 

So muss Ihr Code aussehen.

fichier= open("Service.txt", "r") 
for ligne in fichier: 
    if chaine in ligne: 
    #What do I do ? 
fichier.close() 

Wenn Sie nur in Linie überprüfen beginnen, dann können Sie ligne.startswith überprüfen.

+1

Danke euch allen. Danke – HICHEM

0

Sie können wie diese versuchen,

>>> with open('Service.txt', 'r') as f: 
...  val = f.read() 
>>> if "cheine" in val: 
... # do something 
+0

Danke euch allen. Vielen Dank. – HICHEM

0
with open("Service.txt", "r") as fichier: 
    for ligne in fichier.readlines(): 
     if 'Call' in ligne: 
     #What do I do 

bereits.

+0

Danke euch allen. Vielen Dank. – HICHEM

1
with open("Service.txt", "r") as f: 
    lines = f.readlines() 
chaines = [line for line in lines if line.startswith("chaine")] 
for chaine in chaines: 
    print("Some chaine, whatever that is", chaine) 

Dieser verwendet eine Liste Verständnis wird die if Teil jede Zeile herauszufiltern, die nicht mit "chaine" beginnt.

Der Block with ist ein Kontextmanager, der sicherstellt, dass die Datei beim Beenden des Blocks geschlossen wird, selbst wenn eine Ausnahme vorliegt.

+0

Danke euch allen. Danke – HICHEM

0

Danke euch allen.

Dies ist eine Datei (Service.txt), während ich damit einen Text wiederherstellen kann. nur

Ein Text ist:

 Supplementary service = Call forwarding unconditional 


          = Call waiting 


          = Calling line identification presentation 

Service.txt

Danke.

+0

Ein Text ist nicht behoben. – HICHEM

+0

Danke euch allen. Vielen Dank – HICHEM

Verwandte Themen