2016-04-13 8 views
1

Wie kann ich Ebenen von Unterordnern in Python3 minimieren? I HauptordnerPython3: Minimze Unterordner in Ordner

/projects/ 

Es gibt viele Ordner bekam, die aus Dekomprimieren Zip-Dateien kam:

/projects/project1/project1/file.txt 
/projects/project2/document.txt 

Im ersten Fall gibt es eine /project1/ unnötige Unterordner ich machen müssen dies einfach:

/projects/project1/file.txt 

Antwort

0

eine Möglichkeit wäre, einfach die datei.txt einer Ebene nach oben zu bewegen und der inneren proje entfernen ct1-Ordner.

Sie können den Befehl os.system() verwenden, um Shell-Befehle auszuführen. Hier benötigen Sie 2 Shell-Befehle: 1.mv und 2.rm -rf.

import os 
os.system('mv /projects/project1/project1/file.txt /projects/project1/file.txt') 
os.system('rm -rf /projects/project1/project1/') 
+0

Ich brauche etwas allgemein, weil es etwa 1000 Unterordner ist, sind einige von ihnen in Ordnung, einige von ihnen nicht ... – LukinM26

+0

Können Sie die Dekompression in einer Art und Weise zu steuern, dass es nicht um einen neuen Ordner schafft? Vielleicht, übergeben Sie einige optionale Argumente dazu? Wenn nicht, sollten Sie eine Schleife für den obigen Code mit den 1000 Ordnern verwenden und jedes Mal auf das Vorhandensein eines inneren Ordners prüfen, der mit String-Methoden oder Regex relativ einfach sein sollte. – trans1st0r