• STATISTIQUES
  • Il y a eu un total de 2 membres et 7838 visiteurs sur le site dans les dernières 24h pour un total de 7 840 personnes!


    Membres: 2 605
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [FR] Developpez.net
    Un forum communautaire qui se veut pour les développeurs en générale. Avec presque 500 000 membr...
    Programmation
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    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 730 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 141 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 203 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 102 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 376 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 271 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 159 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 161 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 124 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 334 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