使用来自 jpg.filename 的时间戳

Working with timestamps from jpg.filename

我有一个文件夹(“图片”),其中有许多 jpg.files,文件名作为时间戳(例如“09_02_01.jp”或“10_04_01.jpg”)。 现在我想遍历文件夹和所有 jpg 文件并使用文件名作为时间戳。 有了这些时间戳,我想检查附近是否有一些文件名(jpg)。例如如果图片的时间戳是 09_02_01.jpg 而另一个是 10_04_01.jpg 我想得到图片时间戳的差异,如果图片差异小于 30 秒,例如比我想删除一张图片,因为我每 30 秒只想要一张图片。

目前我只将 jpg 文件名转换为日期时间格式。

from datetime import datetime
import os

def gettime(folder_dir):
    timediff_sec = 30

    for images in os.listdir(folder_dir):
        if images.endswith(".jpg"):

            fn, fext = os.path.splitext(images)

            # string name
            timestamp1 = fn

            # Convert String to datetime Object
            t1 = datetime.strptime(timestamp1, "%H_%M_%S").time()

            print(t1)

gettime("Bilder")

你可以试试下面我的代码:

from datetime import datetime
import os

def gettime(folder_dir):
    timediff_sec = 30
    time_stamps = []
    for images in os.listdir(folder_dir):
        if images.endswith(".jpg"):
            fn, fext = os.path.splitext(images)

            # string name
            timestamp1 = fn

            # Convert String to datetime Object
            t1 = datetime.strptime(timestamp1, "%H_%M_%S")
            t1 = datetime.timestamp(t1)
            if len(time_stamps) == 0 or abs(int(t1) - min(time_stamps)) >= 30 or abs(int(t1) - max(time_stamps)) >= 30:
                time_stamps.append(int(t1))
            else:
                os.remove(os.path.join(folder_dir, images))

gettime("Bilder")