2016-09-14 3 views
0

Ich bin neu in Python und versuchen Dinge. Ist es möglich, einen Baum wahr zu machen, der nach einem bestimmten Dateinamen sucht, nachdem die Datei gefunden wurde, den gesamten Ordner löschen, in dem die Datei gefunden wurde?Suchen Sie eine bestimmte Datei in einem Verzeichnis und löschen Sie das Verzeichnis

Die folgenden Werke, sondern nur löscht die Datei, ich möchte den gesamten Ordner löschen, wenn addon.sxm

if os.path.exists(Addons): 
     for root, dirs, files in os.walk(Addons): 
      package_count = 0 
      package_count += len(files) 
       if package_count > 0: 
        for f in files: 
         if fnmatch.fnmatch(f, 'addon.sxm'): 
          try: 
           os.remove(os.path.join(root, f)) 
          except: 
           pass 
      else: 
       pass     

Antwort

1

Statt os.remove gefunden wird (os.path.join (root, f)) verwenden Sie shutil.rmtree (root); wird das Verzeichnis entfernt, in dem sich die Datei befindet.

import os 
import fnmatch 
import shutil 
Addons="/path/to/my/folder/" 
if os.path.exists(Addons): 
    for root, dirs, files in os.walk(Addons): 
     package_count = 0 
     package_count += len(files) 
     if package_count > 0: 
      for f in files: 
       print(f) 
       if fnmatch.fnmatch(f, 'addon.sxm'): 
        try: 
         shutil.rmtree(root); 
        except: 
         pass 
     else: 
      pass 
+0

Thx, das funktioniert gut – Natrix

Verwandte Themen