J'ai un dossier contenant des photos et j'aimerais déplacer les photos de ce dossier vers un autre. Les fichiers:shutil ne déplace pas tous les fichiers
IMAG_01.JPG
IMAG_02.JPG
IMAG_03.JPG
IMAG_04.JPG
IMAG_05.JPG
IMAG_06.JPG
IMAG_07.JPG
IMAG_08.JPG
IMAG_09.JPG
Mon code:
import os.path
import shutil
src = '/var/www/html/uploads/'
dst = '/media/pi/external/Photos/'
num_files = len([f for f in os.listdir(src)])
print(num_files)
for x in range(num_files):
print(x)
picture = (os.listdir(src)[x])
print(picture)
shutil.move(src+picture,dst+picture)
Quand je lance le code, il faudra la moitié des dossiers, et me donne alors une erreur index out of range
sur picture = (os.listdir(src)[x])
. La sortie suivante:
12
0
IMAG_04.jpg
1
IMAG_07.jpg
2
IMAG_01.jpg
3
IMAG_02.jpg
4
IMAG_09.jpg
5
IMAG_08.jpg
6
Traceback (most recent call last):
File "upload.py", line 11, in <module>
picture = (os.listdir(src)[x])
IndexError: list index out of range
Je comprends qu'il me dit que x est pas dans la liste, mais je ne comprends pas pourquoi cela est de lancer, car il devrait juste commencer à 0 et aller à 8.
Merci pour la réponse rapide et la réponse. Cela a fait l'affaire pour moi. Après avoir examiné mon code, je vois exactement ce que vous disiez de l'appeler deux fois. –