• STATISTIQUES
  • Il y a eu un total de 1 membres et 4762 visiteurs sur le site dans les dernières 24h pour un total de 4 763 personnes!


    Membres: 2 450
    Discussions: 3 572
    Messages: 32 822
    Tutoriels: 77
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] SecurityFocus
    SecurityFocus a été conçu pour faciliter la discussion sur des sujets liés la sécu...
    Vulnérabilités
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Python] Script de rangement
04-07-2013, 21h29 (Modification du message : 04-07-2013, 21h30 par Bourbon Kid.)
Message : #1
Bourbon Kid Hors ligne
Newbie
*



Messages : 16
Sujets : 6
Points: 7
Inscription : Jun 2013
[Python] Script de rangement
Plop tout le monde,
Voici un petit script que j'ai réalisé pour commencer à apprendre le python. Il permet de ranger des fichiers dans d'autres répertoires en fonction de leur nom ou de leur format.
Je m'en sert pour trier mon répertoire Download et mes séries.
C'est mon tout premier script python et il très basique mais j'ai pensé que ça pouvait servir !

Trêve de blablateries et place au code :

Code :
#!/usr/bin/python3.3

import os
import re
import shutil

def checkName(realname, filename): return all(re.search(t, filename) for t in realname.lower().split())
def checkFormat(name,format): return any(re.search(t,name) for t in format)

#Go to the right directory
os.chdir("/media/slayne/OS_Install/Users/David/Downloads") #replace by your directory
#Get all the files
allfiles=os.listdir(os.getcwd())

#video formats
videos=["mp4","avi","mkv"] #replace
#archive formats
archives=["zip","rar"] #replace

#path for unsorted videos
video_path="/media/slayne/OS_Install/Users/David/Downloads/videos to sort" #replace

#path for unsorted archives
archive_path="/media/slayne/OS_Install/Users/David/Downloads/archives to sort" #replace

#List all the series and their associeted path, replace by yours
series={"vikings":"/media/slayne/Data/series/Vikings",
        "dexter":"/media/slayne/OS_Install/Users/David/Videos/DEXTER",
        "misfits":"/media/slayne/Data/series/misfits",
        "breaking bad":"/media/slayne/OS_Install/Users/David/Videos/Breaking Bad",
        "how i met your mother":"/media/slayne/OS_Install/Users/David/Videos/HYMYM",
        "sons of anarchy":"/media/slayne/OS_Install/Users/David/Videos/SOA",
        "the walking dead":"/media/slayne/OS_Install/Users/David/Videos/The Waling dead",
        "game of thrones":"/media/slayne/Data/series/GOT",
        "homeland":"/media/slayne/Data/series/Homeland",
        "true blood":"/media/slayne/Data/series/true blood",
        "sherlock":"/media/slayne/Data/series/Sherlock"}
        
#Normalize files
for name in allfiles:
    name=name.lower()
    
#sort series
for k in series:
    for f in allfiles:
        if checkName(k,f):
            print("moving",f)
            shutil.move(f,series[k])
            
        #sort other videos
        if checkFormat(f,videos):
            print("moving",f)
            shutil.move(f,video_path)

        #sort archives
        if checkFormat(f,archives):
            print("moving",f)
            shutil.move(f,archive_path)


Si vous avez des remarques n'hésitez pas je suis là pour ça !

ps: merci à MacYavel pour avoir réduit ma fonction de 20 lignes en 1 seule Big Grin
ps2: pas testé sous windows
"I said a hip, hop, the hippie - the hippie to the hip hip-hop, and you don't stop the rock it to the bang-bang, boogie say "up jump" the boogie to the rhythm of the boogie: the beat."
+1 (1) -1 (0) Répondre
04-07-2013, 23h32 (Modification du message : 06-07-2013, 15h53 par Edelwin.)
Message : #2
Edelwin Hors ligne
Go fork yourself !
*



Messages : 37
Sujets : 3
Points: 13
Inscription : Apr 2013
Équivalent bash
Code :
#!/bin/bash
pwd # on affiche le répertoire courant

## On utilise sed pour lister tous les fichiers présent, et les renommer avec leur
## extension en lowercase
ls | sed -n 's/\([^.]*\)\.\(.*\)/mv -v "\1.\2" "\1.\L\2"/p' | bash -s &&
######## Ce script marche aussi ########
# find . -name '*.*' -exec sh -c '                  
#  a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/");
# [ "$a" != "{}" ] && mv "{}" "$a" ' \;        
#########################################
##### Je présume et assume que les #######
#           dossiers de contenu existent.            
# Sinon, créez-les. je n'ai pas fait de test pour  
#              pas alourdir le script                    
################################
mv *.[flac,mp3,ogg,aac,wma] Musique/
mv *.[avi,mov,wmv,mk] Vidéos/
mv *.[rar,zip,tar.gz,tar.bz2,tar] Archives/
mv *.[png,jpg,jpeg,bmp] Photos/
mv *.[odt,abw,ps,doc,pdf,rtf,txt,sxw,kwd] Documents/

exit 0
Enjoy your shell :3
ps : merci à stackoverflow
pps : merci à Bourbon Kid pour m'avoir donner l'idée de retranscrire son script ;)
+1 (1) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 9,035 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 1,570 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 1,901 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 1,710 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 4,356 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 2,694 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 1,772 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 1,775 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 1,192 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 3,986 15-08-2014, 20h26
Dernier message: sakiir

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut