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


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


  • ANNUAIRE
  • [FR] frameip
    le site de partage des connaissances du monde TCPIP
    Protocole
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    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 9,015 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 1,568 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 1,899 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 1,708 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 4,345 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 2,692 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 1,770 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 1,773 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 1,191 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 3,982 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