Hallo, bin neu in Python, werde im Moment nur kleine Sachen in Python machen. Ich weiß was programmieren und Scripte schreiben ist, nur Python ist Neuland für mich.
Eine kleine Aufgabe wobei ich Hilfe benötige.
- 2 Ordner nach Dateien durchsuchen
- die Dateinamen incl Dateiendung (Anzahl und Namen sind unbekannt) in eine txt Datei schreiben, Zeilenweise
- ABER wenn möglich in folgender Form, angenommen in Ordner1 sind 5 Dateien und in Ordner2 sind 2 Dateien...... als Beispiel, die Anzahl kann sich immer ändern !
aus Ordner1 Pfad/Datei1
aus Ordner2 Pfad/Datei1
aus Ordner1 Pfad/Datei2
aus Ordner2 Pfad/Datei2
aus Ordner1 Pfad/Datei3
aus Ordner2 Pfad/Datei1 (da ja nur 2Dateien in Ordner2 sind, wieder mit der ersten beginnen)
aus Ordner1 Pfad/Datei4
aus Ordner2 Pfad/Datei2
aus Ordner1 Pfad/Datei5
aus Ordner2 Pfad/Datei1
das war es eigentlich schon.
Ich würde mich freuen wenn mir jemand helfen kann
Danke Heiko
Dateien in Ordner suchen, Dateinamen in txt Datei speichern
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@kollimann: Das sieht nach `pathlib.Path` aus um die Pfade zu den Dateien zu ermitteln, dann `itertools.cycle()`, das man auf die kürzere Liste anwendet, und dann die `zip()`-Funktion um die Pärchen daraus zu erzeugen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Pfade muss ich nicht ermitteln, die 2 Ordner die durchsucht werden sollen können fest vorgegeben werden.
ich habe folgendes, das gibt mir die Dateinamen aus, erstmal hintereinander......
ich beginne ja zu lernen. Mit dem Code hab ich meine gewünschten Dateinamen.
ich habe folgendes, das gibt mir die Dateinamen aus, erstmal hintereinander......
Code: Alles auswählen
import glob
import os
def files(path):
for file in os.listdir(path):
if os.path.isfile(os.path.join(path, file)):
yield file
for file in files("/storage/videos/"):
print (file)
for file in files("/storage/pictures/"):
print (file)
ich beginne ja zu lernen. Mit dem Code hab ich meine gewünschten Dateinamen.
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@kollimann: Ich schrob „Pfade zu den Dateien ermitteln“ und das muss man schon, denn Du willst ja die Pfade zu den Dateien haben. Also nicht die Pfade in denen die Dateien liegen sondern die kompletten Pfade die zu jeder einzelnen Datei führen. Und das macht man eher nicht mehr mit `os` sondern eben mit `pathlib`.
Code: Alles auswählen
#!/usr/bin/env python3
from pathlib import Path
def iter_file_paths(base_path):
return (path for path in base_path.iterdir() if path.is_file())
def main():
storage_path = Path("/storage")
for directory_name in ["videos", "pictures"]:
for file_path in iter_file_paths(storage_path / directory_name):
print(file_path)
if __name__ == "__main__":
main()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari