2016-09-21 1 views
0

Der Titel erklärt es nicht wirklich gut, also werde ich versuchen, es hier besser zu erklären. Ich erwarte nicht, mit dem Löffel gefüttert zu werden, aber ich würde gerne in die richtige Richtung zeigen, wie ich das machen würde.So finden Sie den Dateipfad für eine bestimmte Datei für mehrere Ordner

ich einen Ordner haben, machen wir es A. in

A verfügt über 100 andere Ordner aufrufen, die den Ordnernamen als nur eine völlig Zufallszahl haben.

In jedem dieser Ordner befinden sich eine PNG-Datei, eine TXT-Datei und eine BSP-Datei.

Ich habe den Ordner-Verzeichnis auf die bsp Dateien abgelegt werden, in eine Textdatei, so dass ein anderes Programm sie lesen kann (aber ich denke, dass irrelevant ist)

ich erwarten würde der Lage sein, das zu finden, Dateiverzeichnisse für jede Datei, z es würde drucken

\A\<random number for the folder>\<bsp file name> \A\<another random number for another folder>\<the bsp file name for the file in that folder>

Ich bin mir bewusst, es ist ziemlich vage, aber wie würde ich diesen Ansatz?

+0

das Ordnerverzeichnis zu den **** Dateien legen? Oder setzen Sie **** Dateien in das spezifische Verzeichnis? – Jeon

+0

Dies tut genau das, was Sie beschreiben: https://docs.python.org/3/library/os.html#os.walk –

+0

@TomaszPlaskota das ist es! Genau das, was ich brauchte, danke! – Alster

Antwort

0

Was Sie benötigen, können Sie mit dem Befehl 'find' auf der Shell erreichen.

Nach dem Wechsel in das Hauptverzeichnis mit allen Unterverzeichnissen, den relativen Pfad zu erhalten, führen:

find -name *.bsp 
./1/aa.bsp 
./2/bb.bsp 
./3/cc.bsp 

Und für absolute Pfad führen:

find -name *.bsp -exec readlink -f {} \; 
/home/user/A/1/aa.bsp 
/home/user/A/2/bb.bsp 
/home/user/A/3/cc.bsp 

du in Python ausführen kann using os.system()

Verwandte Themen