Dateinamen auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
b.grosse
User
Beiträge: 16
Registriert: Freitag 3. Januar 2014, 11:29

Hallo ich hab nen Programm für nen raspberry pi der mir alle 2.5 s ein bild schießt. klappt soweit so gut.

Code: Alles auswählen

import datetime
import picamera
from time import sleep

with picamera.PiCamera() as camera:
    camera.resolution = (1280, 720)
    for i, filename in enumerate(camera.capture_continuous("image{counter:03d}.jpg")):
        print("Captured image %s" % filename)
        sleep(2.5)
Problem ist nur, das mein Videoschnittprogramm nur Bilder in numerischer Reihenfolge als Sequenz erkennt.
Damit er nicht immer von 0 beginnt muss ich die Nummer aus dem Dateinamen irgendwie auslesen und zum Dateinamen addieren. Wie mache ich das am gescheitesten?


Eine Antwort wäre nett.

Bastian
BlackJack

@b.grosse: Dateinamen in eine Liste lesen (`os.listdir()`), davon den lexikografisch grössten Namen nehmen (`max()`), vom Namen den Teil zwischen 'image' und '.jpg' nehmen (Indexzugriff mit Slice-Syntax), und in eine Zahl umwandeln (`int()`). Wenn Du auf die Zahl 1 drauf addierst, hast Du eine neue Startzahl damit es nach der letzten Aufnahme weitergeht.

Das Ergebnis von `enumerate()` wird im gezeigten Quelltext gar nicht benutzt.
Antworten