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 oyoun . Évalué à 3.
A quel moment choisis-tu ton répertoire aléatoirement ?
[^] # Re: Random
Posté par openbar . Évalué à 2.
rep=(reps[randint(0,len(reps))])
[^] # Re: Random
Posté par Sébastien Maccagnoni (site web personnel) . Évalué à 4.
C'est moche…
Ceci est plus joli :
rep = random.choice(reps)
[^] # Re: Random
Posté par openbar . Évalué à 2.
Merci pour l'astuce! C'est effectivement beaucoup plus pratique
[^] # Re: Random
Posté par oyoun . Évalué à 1.
Je m'en doutais mais j'étais pas sûr de la réponse! Merci
# Utilité
Posté par 🚲 Tanguy Ortolo (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 Mali (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.