[PYTHON] Organisieren Sie eine große Anzahl von Dateien in Ordnern

Geschichte

Wenn eine billige Überwachungskamera eingeführt wurde und der Bildschirm geändert wurde, funktionierte die Bewegungserkennung und das Bild wurde so eingestellt, dass es auf einen beliebigen FTP-Server hochgeladen wurde. Der Schwellenwert der Bewegungserkennung reagiert empfindlich auf ein gutes Gefühl, und ich fotografiere und lade ihn mit der Bewegung der Sonne und einem leichten Schock hoch. Da das Upload-Ziel ein beliebiger Pfad ist, werden Zehntausende von Dateien in derselben Hierarchie gespeichert.

Gegenmaßnahmen

Ich würde mich freuen, wenn es in Ordnern von ungefähr einem Jahr verteilt würde. Deshalb habe ich beschlossen, ein Skript zu erstellen, das nur den Ordner gräbt und ihn unter Bezugnahme auf den Dateinamen verschiebt.

Code

python




#!/usr/bin/env python
#coding:utf-8

import os
import shutil

JPG_FILE_LIST = []
TGT_FILE_TYPE = '*.jpg'

#Erstellen einer Liste von JPG-Dateien
#Rufen Sie nur den Dateinamen einer bestimmten Erweiterung ab
def get_filename_only_ext(ext_str="*.jpg "):
  import glob
  global JPG_FILE_LIST
  file_list = glob.glob(ext_str)
  JPG_FILE_LIST = file_list
  #for file in file_list:
  #  print(file)
get_filename_only_ext( TGT_FILE_TYPE )
print JPG_FILE_LIST


def main():
  #Extrahieren Sie den Dateinamen zeilenweise
  for cur_file in JPG_FILE_LIST:
    print cur_file
    ##Generieren Sie den Namen des Zielordners aus dem Dateinamen
    # sample_file_name : IPC_IPCamera_14_1_23_22_55_38.jpg
    fn = cur_file.split("_")
    dist_folder = "20" + fn[2] + "-" + "%02d"%int(fn[3])

    ##Überprüfen Sie die Existenz des Zielordners
    ## #Erstellen Sie einen Ordner, falls dieser nicht vorhanden ist
    if False == os.path.exists( dist_folder ):
      os.mkdir( dist_folder )
      print "make dir: ", dist_folder

  ##Wechseln Sie in den Zielordner
    else:
      shutil.move(cur_file, os.path.join( dist_folder, cur_file))
      print "move : ", cur_file


if __name__ == '__main__':
  main()
  print 'done'

danach

Wenn Sie es mit Sakuras Rensaba bewegen möchten Ich kann verschiedene Dinge nicht importieren und ich kann orz nicht bewegen

Recommended Posts

Organisieren Sie eine große Anzahl von Dateien in Ordnern
Konsolidieren Sie eine große Anzahl von CSV-Dateien in Ordnern mit Python (Daten ohne Header).
Verbinde eine große Anzahl von Videos miteinander!
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Verwenden Sie shutil, um alle Ordner mit einer kleinen Anzahl von Dateien zu löschen
ETL-Verarbeitung für eine große Anzahl von GTFS-Echtzeitdateien (Python Edition)
Beschleunigen Sie eine große Anzahl einfacher Abfragen in MySQL
[Python] Generieren Sie zufällig eine große Anzahl englischer Personennamen
Machen Sie die angegebene Anzahl von Sekunden zu Stunden, Minuten und Sekunden
Scrapy-Redis wird zum Crawlen einer großen Anzahl von Domänen empfohlen
Memorandum of files unter conf.d.
Das Ausführen einer großen Anzahl von Python3 Executor.submit verbraucht möglicherweise viel Speicher.
Maximale durchschnittliche Anzahl täglicher Besucher (groß)
[Python] Nur eine Liste der Ordner abrufen
TensorFlow Aus einer großen Anzahl von Bildern lernen ... (ungelöstes Problem) → 12/18 Gelöst
Teilen Sie die Zeichenfolge in die angegebene Anzahl von Zeichen
Finden Sie die Anzahl der Tage in einem Monat
Protokollrotation nach Anzahl der Dateien anstelle des Datums
Ein Tool zum Verfolgen von Postern mit einer großen Anzahl von Likes auf Instagram [25 Minuten bis 1 Sekunde]
Verwenden Sie die API, um gemeinsam eine große Anzahl ungelesener E-Mails in Google Mail zum Lesen zu ändern
Python, das viele Excel zu einem Excel zusammenführt
Lesen Sie eine große Anzahl von Wertpapierberichten mit COTOHA
Lambda + Python kann den Zugriff auf eine große Anzahl von IP-Adresslisten gut einschränken