Eu estou tentando obter uma lista de todos os arquivos e pastas com tamanhos lá (até 1 º nível, ou seja, nomes de arquivos e pastas com tamanhos lá no diretório atual) enviado para mim através de um script python. Eu tenho o script funcionando, mas usando o comando ls como abaixo só envia tamanhos de arquivo e não de pasta?
p=subprocess.Popen(['ls', '-1ahs', '/media/ExternalHd/myfolder'], stdout=subprocess.PIPE)
output = p.stdout.read()
du
comando em vez dels
.du -s *
?du -sh /media/ExternalHd/myfolder/*
funciona no terminal, mas usandop=subprocess.Popen(['du', '-sh', '/media/ExternalHd/myfolder/*'], stdout=subprocess.PIPE)
em um script python mostra errodu: cannot access /media/ExternalHd/myfolder/*: No such file or directory
Respostas:
Você precisa de um shell para expandir "*", Popen não vai fazer isso por você. Então, se você realmente quer usar Popen, então
fonte