Forum Astuces.divers Remplir automatiquement et aleatoirement une clef usb avec des repertoire de mp3

Posté par  . Licence CC By‑SA.
Étiquettes :
5
2
juil.
2014

Bonjour,
J'ai fait un script en python qui remplit automatiquement une clef usb avec des repertoires de mp3 choisis aleatoirement (entre 25 et 250 mo); Le voici:

import os.path 
from os import mkdir 
import shutil
from random import randint

class Rep:
    def __init__(self):
        self.fics=[]
        self.taille=0
    pass
def sizedirectory(path,dest,taille):  
    reps=[]
    for root, dirs, files in os.walk(path):  
        if not ".mediaartlocal" in root and (len(dirs)==0 or len(dirs)==1 and ".mediaartlocal" in dirs):
            rep=Rep()
            rep.rep=root
            for fic in files:  
                if "mp3" in fic:
                    nomFic=os.path.join(root, fic)
                    rep.fics.append(nomFic)
                    rep.taille+=os.path.getsize(nomFic)

            if rep.taille>20000000 and rep.taille<250000000:
                reps.append(rep)


    totalCopie=0
    while(totalCopie<taille):
        rep=(reps[randint(0,len(reps))])
#       print (rep.rep)
        print(totalCopie)
        destination=dest+"/"+rep.rep.split("/")[-1]
        print (destination)
        if not(os.path.exists(destination)):
            mkdir(destination)
            totalCopie+=rep.taille/1000000

            for f in rep.fics:
                pass
#               print (f)
                shutil.copy(f,destination)

sizedirectory("/home/user/Musique/","/media/clefUsb",2000)  # le troisieme argument est la taille en mo
  • # Random

    Posté par  . Évalué à 3.

    A quel moment choisis-tu ton répertoire aléatoirement ?

    • [^] # Re: Random

      Posté par  . Évalué à 2.

      rep=(reps[randint(0,len(reps))])

      • [^] # Re: Random

        Posté par  (site web personnel) . Évalué à 4.

        C'est moche…

        Ceci est plus joli :

        rep = random.choice(reps)

        • [^] # Re: Random

          Posté par  . Évalué à 2.

          Merci pour l'astuce! C'est effectivement beaucoup plus pratique

      • [^] # Re: Random

        Posté par  . Évalué à 1.

        Je m'en doutais mais j'étais pas sûr de la réponse! Merci

  • # Utilité

    Posté par  (site web personnel) . Évalué à 3.

    J'ai du mal à voir le cas d'usage de ce truc. À quoi cela te sert-il ?

    • [^] # Re: Utilité

      Posté par  (site web personnel) . Évalué à 3.

      A piocher au hasard dans la collection de mp3 pour remplir une clé à écouter dans la voiture, par exemple.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.