• STATISTIQUES
  • Il y a eu un total de 0 membres et 3331 visiteurs sur le site dans les dernières 24h pour un total de 3 331 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges
    [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [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

  • 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 1,340 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 197 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 296 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 186 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 623 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 440 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 212 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 241 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 160 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 605 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