2017-02-01 6 views
1

Ich erhalte eine Liste von Dateien in einem Projekt, die alle von src/app.ts bis src/component/app/app.ts reichen können. Was ich suche zu tun ist:Python: Datei erstellen, wenn die Datei in der Liste nicht existiert

  • Schleife über jede Datei in der Liste,
  • sehen, ob es ein Muster einer spezifischen Konfiguration übereinstimmt,
  • und wenn die Datei nicht vorhanden ist, schreiben auf die Festplatte.

Zur Zeit habe ich:

m = re.compile(r'(ts|js)config.json$') 
for file in files: 
    if m.search(file): 
     return True 
    else: 
     self.writeFile() 

Welche funktioniert, aber es ruft mehrmals schreiben, wenn es nicht passen ist. Wie würde ich nur schreiben, nachdem die Prüfungen durchgeführt wurden?

Antwort

1

Sie könnten nur Unindent Ihren else Block, so dass es zu for gilt:

for file in files: 
    if m.search(file): 
     return True 
else: 
    self.writeFile() 

zur Kenntnis, dass es in diesem Fall nicht so interessant wie mit dem break Fall könnten Sie einfach schreiben:

for file in files: 
    if m.search(file): 
     return True 
self.writeFile() 

seit wenn das Muster übereinstimmt, gibt es zurück writeFile wird nicht erreicht.

1

Sie können die Datei zum Schreiben bewegen, nachdem alle Prüfungen sind erschöpft:

m = re.compile(r'(ts|js)config.json$') 
for file in files: 
    if m.search(file): 
     return True 

self.writeFile() 
Verwandte Themen