Je cherche à obtenir une liste de tous les fichiers et dossiers avec leurs tailles (jusqu’au 1er niveau, c’est-à-dire les noms de fichiers et de dossiers avec leurs tailles dans le répertoire actuel) qui m’a été envoyée par courrier électronique via un script Python. Le script a fonctionné, mais la commande ls ci-dessous n’envoie que la taille des fichiers et non la taille des dossiers.
p=subprocess.Popen(['ls', '-1ahs', '/media/ExternalHd/myfolder'], stdout=subprocess.PIPE)
output = p.stdout.read()
du
commande au lieu dels
.du -s *
?du -sh /media/ExternalHd/myfolder/*
fonctionne sur le terminal, mais en utilisantp=subprocess.Popen(['du', '-sh', '/media/ExternalHd/myfolder/*'], stdout=subprocess.PIPE)
dans un script python affiche une erreurdu: cannot access /media/ExternalHd/myfolder/*: No such file or directory
Réponses:
Vous avez besoin d'un shell pour développer "*", Popen n'y va pas pour vous. Donc, si vous voulez vraiment utiliser Popen, alors
la source