Hallo
ich habe ein directory z.B /usr/bin
jetzt möchte unter diesem directory auf einen schlag IN EINER SCHLEIFE z.B die pfade /ich/bin/hier und /du/bist/dort
generieren.
wie kann ich das bewerkstelligen ?
makedirs kann ich nicht in die schleife packen weil bei nächster iteration der pfad schon existiert ? Wie kann ich vorgehen ?
makedirs() super mkdir -> problem
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Die Frage macht keinen Sinn, weil
1) die Verzeichnisse die Du erstellen willst ja wohl anscheinend nicht im root liegen, aber sie trotzdem ein slash vorneweg haben, und
2) was eine Schleife damit zu tun haben soll verstehe ich nicht, weil makedirs() eigentlich einen Verzeichnisbaum erstellt als ganzes, also die (notwendige) Schleife vor Dir kapselt, und
3) man in /usr/bin keine Verzeichnisse reinpackt, dazu ist /usr/share (für Programmdaten) und /usr/lib (für Programmlibs) da...
Bitte poste ein bissel mehr Beispielcode...
1) die Verzeichnisse die Du erstellen willst ja wohl anscheinend nicht im root liegen, aber sie trotzdem ein slash vorneweg haben, und
2) was eine Schleife damit zu tun haben soll verstehe ich nicht, weil makedirs() eigentlich einen Verzeichnisbaum erstellt als ganzes, also die (notwendige) Schleife vor Dir kapselt, und
3) man in /usr/bin keine Verzeichnisse reinpackt, dazu ist /usr/share (für Programmdaten) und /usr/lib (für Programmlibs) da...
Bitte poste ein bissel mehr Beispielcode...
--- Heiko.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi MatMat!MatMat hat geschrieben:Hallo
ich habe ein directory z.B /usr/bin
jetzt möchte unter diesem directory auf einen schlag IN EINER SCHLEIFE z.B die pfade /ich/bin/hier und /du/bist/dort
generieren.
Code: Alles auswählen
import os
import os.path
dirs = (
r"C:\_Ablage\uuu",
r"C:\_Ablage\uuu\a",
r"C:\_Ablage\uuu\b",
r"C:\_Ablage\uuu\c",
r"C:\_Ablage\uuu\a\a",
r"C:\_Ablage\uuu\b\b",
r"C:\_Ablage\uuu\c\c",
)
for dir in dirs:
if not(os.path.isdir(dir)):
os.makedirs(dir)
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
danke für die antworten...:
und /usr/bin/du/bist/dort
zu 2) ich möchte eben mehr als 1 unterdirectory erstellen (es können auch 2 3 4 oder 100 sein) und das eben unter einem existierenden directory
zu 3) das stimmt. Aber ich wollte nur ein beispiel geben...in usr/bin erstelle ich nichts.
dann halt als beispiel: /home/ggg/test/test1
von mir aus...
und da soll jetzt entstehen:
/home/ggg/test/test1/ich/du
/home/ggg/test/test1/da/aber
/home/ggg/test/test1/hier/und
/home/ggg/test/test1/abc/dev
zu 1) ok so habe ich mich falsch ausgedrückt...es sollte heißen: /usr/bin/ich/bin/hier1) die Verzeichnisse die Du erstellen willst ja wohl anscheinend nicht im root liegen, aber sie trotzdem ein slash vorneweg haben, und
2) was eine Schleife damit zu tun haben soll verstehe ich nicht, weil makedirs() eigentlich einen Verzeichnisbaum erstellt als ganzes, also die (notwendige) Schleife vor Dir kapselt, und
3) man in /usr/bin keine Verzeichnisse reinpackt, dazu ist /usr/share (für Programmdaten) und /usr/lib (für Programmlibs) da...
und /usr/bin/du/bist/dort
zu 2) ich möchte eben mehr als 1 unterdirectory erstellen (es können auch 2 3 4 oder 100 sein) und das eben unter einem existierenden directory
zu 3) das stimmt. Aber ich wollte nur ein beispiel geben...in usr/bin erstelle ich nichts.
dann halt als beispiel: /home/ggg/test/test1
von mir aus...
und da soll jetzt entstehen:
/home/ggg/test/test1/ich/du
/home/ggg/test/test1/da/aber
/home/ggg/test/test1/hier/und
/home/ggg/test/test1/abc/dev
Hi,
Was ist , wenn du einfach mit 2 Dictionaries / Mengen machst ? ( Bin ein Fan von sowas
)
je unterverzeichnis ein weiteres "dictionary" dazufügen , also name_3 und 1 schleife... wenn du weisst , wieviele Unterverzeichnisse du machen willst ^^
Hoffe, ich liege nicht falsch
Mfg,
Kolazomai
Was ist , wenn du einfach mit 2 Dictionaries / Mengen machst ? ( Bin ein Fan von sowas

Code: Alles auswählen
import os
menge_1 = ["ich","du","er","sie","es"]
menge_2 = ["a","b","c","d","e"]
for x in range(len(menge_1)):
for y in range(len(menge_2)):
os.mkdir("/home/user/"+str(name_1[x])+"/"+str(name_2[y]))
Hoffe, ich liege nicht falsch

Mfg,
Kolazomai
*Hust, Hust*Kolazomai hat geschrieben:Code: Alles auswählen
for x in range(len(menge_1)):
Das solltest du, wenn überhaupt, so schreiben:
Code: Alles auswählen
for item,index in enumerate(menge_1)
Code: Alles auswählen
for x in menge_1:
for y in menge_2:
os.mkdir(os.path.join("/home/user", x, y)