Bonjour,
J'ai récemment migré mes données d'un ancien Nas (DS115j) vers un nouveau (DS224+). Je voudrais m'assurer que tous les fichiers ont bien été transmis, sans erreur. Pour cela je monte les deux volumes Nas sur mon iMac via SMB, puis je vérifie à l'aide d'un script Python qui parcours l'arborescence récursivement que, pour chaque fichier, la date, la taille et enfin le MD5. Ce script fonctionne bien dans la plupart des cas, sur plusieurs To de données.
Anecdote : c'est avec ce script que j'ai découvert que iCloud se permettait de "perdre" des fichiers, mais c'est une autre histoire. Fin de l'anecdote.
Le problème que je rencontre c'est que le parcours donne une erreur non déterministe entre deux exécutions. Voici le code simpliste qui reproduit l'indéterminisme :
Premier problème : Le file.exists() devrait toujours être ok puisque le fichier vient d'être renvoyé par la commande iterdir().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import sys from pathlib import Path def scan(path): for file in path.iterdir(): if file.exists()==False: print('Not exist: '+str(file)) else: if file.is_dir(): scan(file) top_path = Path('/Volumes/thomas frigo') print(sys.getdefaultencoding()) scan(top_path)
Second problème : Le file.exists() donne un résultat différent entre deux exécutions:
Exécution #1:
utf-8
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire P1 (1).pdf
Not exist: /Volumes/thomas frigo/synology/Le planisphère.m4a
Exécution #2:
utf-8
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire.doc
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire.odt
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire P1.doc
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire P1.pdf
Not exist: /Volumes/thomas frigo/synology/STAV Rupture révolutionnaire (2).doc
Not exist: /Volumes/thomas frigo/synology/Deuxième république.m4a
==> 2 résultats différents. Le point commun c'est qu'il s'agit systématiquement de fichiers avec des accents, cédilles, etc, Mais à l'opposé, seule une fraction des fichiers avec accents posent un problème d'indéterminisme, je ne pense donc pas qu'il s'agisse d'un problème d'encoding, même si il semble y avoir une corrélation...
Est-ce que quelqu'un a déjà rencontré ce soucis ?
Merci d'avance pour vos suggestion.
Grégoire.
Partager