Seite 1 von 1

Dateinamen auslesen

Verfasst: Montag 7. Juli 2014, 17:01
von b.grosse
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

Re: Dateinamen auslesen

Verfasst: Montag 7. Juli 2014, 17:34
von 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.