[PYTHON] Organisez un grand nombre de fichiers dans des dossiers

Histoire

Lorsqu'une caméra de surveillance bon marché était introduite, s'il y avait un changement dans l'écran, la détection de mouvement fonctionnait et l'image était configurée pour être téléchargée sur un serveur FTP arbitraire. La valeur seuil de détection de mouvement est sensible à la bonne sensation, et je la photographie et la télécharge avec le mouvement du soleil et un léger choc. Puisque la destination de téléchargement est un chemin arbitraire, des dizaines de milliers de fichiers seront stockés dans la même hiérarchie.

Contre-mesures

Je serais heureux qu'il soit distribué dans des dossiers d'environ un an, alors j'ai décidé de créer un script qui creuse simplement le dossier et le déplace, en faisant référence au nom du fichier.

code

python




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

import os
import shutil

JPG_FILE_LIST = []
TGT_FILE_TYPE = '*.jpg'

#Création d'une liste de fichiers JPG
#Obtenez uniquement le nom de fichier d'une extension spécifique
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():
  #Extraire le nom du fichier ligne par ligne
  for cur_file in JPG_FILE_LIST:
    print cur_file
    ##Générer le nom du dossier de destination à partir du nom du fichier
    # 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])

    ##Vérifiez l'existence du dossier de destination
    ## #Créer un dossier s'il n'existe pas
    if False == os.path.exists( dist_folder ):
      os.mkdir( dist_folder )
      print "make dir: ", dist_folder

  ##Déplacer vers le dossier de destination
    else:
      shutil.move(cur_file, os.path.join( dist_folder, cur_file))
      print "move : ", cur_file


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

ensuite

Si vous voulez le déplacer avec le Rensaba de Sakura Je ne peux pas importer diverses choses et je ne peux pas déplacer orz

Recommended Posts

Organisez un grand nombre de fichiers dans des dossiers
Consolider un grand nombre de fichiers CSV dans des dossiers avec python (données sans en-tête)
Connectez un grand nombre de vidéos ensemble!
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
Utilisez shutil pour supprimer tous les dossiers avec un petit nombre de fichiers
Traitement ETL pour un grand nombre de fichiers GTFS Realtime (édition Python)
Accélérez un grand nombre de requêtes simples dans MySQL
[Python] Générer de manière aléatoire un grand nombre de noms de personne en anglais
Transformez le nombre de secondes donné en heures, minutes et secondes
Scrapy-Redis est recommandé pour l'exploration d'un grand nombre de domaines
Mémorandum de dossiers sous conf.d
L'exécution d'un grand nombre de Python3 Executor.submit peut consommer beaucoup de mémoire.
Nombre moyen maximum de visiteurs quotidiens (grand)
[Python] Obtenir une liste de dossiers uniquement
TensorFlow Pour apprendre d'un grand nombre d'images ... (Problème non résolu) → 12/18 Résolu
Divisez la chaîne de caractères en le nombre de caractères spécifié
Trouvez le nombre de jours dans un mois
Rotation du journal par nombre de fichiers au lieu de date
Un outil pour suivre les affiches avec un grand nombre de likes sur instagram [25 minutes à 1 seconde]
Utilisez l'API pour modifier collectivement un grand nombre d'e-mails non lus dans Gmail à lire
Python qui fusionne beaucoup d'excellence en un seul Excel
Lire un grand nombre de rapports sur les titres en utilisant COTOHA
Lambda + Python est efficace pour restreindre l'accès à un grand nombre de listes d'adresses IP