Hier mein Problem:
Die erste Schleife des Programms ließt die Datei "tmp_crypt2.tmp" aus, die genau aus 3 Zeilen besteht.
Inhalt:
VG00-LV00
VG00-LV01
VG00-LV04
Die zweite Schleife ließt die Datei "crypty" aus, die ebenfalls aus 3 Zeilen besteht.
Inhalt:
VG00/LV03
VG00-LV00
VG00-LV01
Unten das Problem und der Output:
Code: Alles auswählen
#!/usr/bin/env python
import os,sys
tmpR2=open('/tmp/tmp_crypt2.tmp', 'r') # erste Datei
CTAB=open('/tmp/crypty','r') # zweite Datei
times=0 # zum zählen der 1.Schleife
ctimes=0 # zum zählen der 2.Schleife
for cline in tmpR2: # für jede Zeile in Datei 1,
print('times: %s' %times) # zeig den 1.Zähler
times+=1 # zähl eins hoch
for T in CTAB: # für jede Zeile in Datei 2,
T=T.strip() # mach die Leerzeilen weg
print('C: %s' %T) # geb die akt.Zeile aus Datei 2 aus
ctimes+=1 # zähl eins hoch
print('ctimes: %s' %ctimes) # zeig den 2.Zähler
print '---------------------' # Trennstrich
times: 0
C: VG00/LV03
ctimes: 1
C: VG00-LV00
ctimes: 2
C: VG00-LV01
ctimes: 3
---------------------
times: 1
---------------------
times: 2
---------------------
Problem/Ziel:
Für jede Zeile der ersten Datei soll die ganze 2. Datei durchforstet werden und später
suchen, ob der String der ersten Datei irgendwo in der 2. Datei schon vorhanden ist.
Das Problem sieht man am Output. Die erste Schleife läuft einmal durch, dann läuft die 2. Schleife einmal durch, dann läuft die erste Schleife noch 2 mal weiter OHNE die 2. Schleife.
Warum läuft also die 2. Schleife nur beim ERSTEN Mal durch ?
Wenn ich in der 2. Schleife
Code: Alles auswählen
for T in range(3):
Code: Alles auswählen
for T in CTAB:
Also so:
times: 0
ctimes: 1
ctimes: 2
ctimes: 3
---------------------
times: 1
ctimes: 4
ctimes: 5
ctimes: 6
---------------------
times: 2
ctimes: 7
ctimes: 8
ctimes: 9
--------------------
Ziel: der code ist ein Ausschnitt eines größeren Projekts. Ich lass das Prog. rausfinden, welche luks-devices gemountet sind und ziehe von dieser Menge all jene ab, die bereits in /etc/crypttab drin stehen, denn die will man meist nicht zur Laufzeit aushebeln...
Kann mir irgendjemand hier helfen ?
Danke schonmal.