2012-05-19 1 views
1

Le module filecmp de la bibliothèque standard contient un l'dircmp class qui a deux attribues sonores similaires:Quelle est la différence entre common_funny et funny_files de filecmp.dircmp?

common_funny:

noms en a et b, tels que le type diffère entre les répertoires ou les noms pour lesquels os.stat() signale une erreur.

funny_files:

fichiers qui sont à la fois a et b, mais ne pouvaient pas être comparés.

Qu'est-ce qui provoquerait l'apparition de fichiers ou de répertoires dans common_funny? Qu'est-ce qui provoquerait l'apparition de fichiers ou de répertoires dans des fichiers funny_files?

+0

Je suppose que la mise en œuvre est le même pour Python 2.x et 3.x. S'il vous plaît le moi savoir si c'est incorrect. – chobok

Répondre

2

Use the source Luke.

common_funny est ajouté si les types des deux fichiers ne correspondent pas (par exemple, un est un fichier, l'autre un répertoire), ou ce n'est pas un type reconnu, ou le os.stat a explosé. Ceux-ci sont retournés dans le premier passage juste en regardant les noms de fichiers et les types.

funny_files est fait à partir des fichiers dircmp pensé qu'il pourrait comparer, mais n'a pas pu lire pour une raison quelconque - une sorte de os.error peut-être à la lecture (autorisation refusée par exemple). Ceux-ci sont retournés dans la deuxième passe lorsque vous essayez de voir les différences dans les fichiers (lorsque vous exécutez réellement filecmp.cmp).

Je ne savais pas sur le filecmp module - merci pour le porter à mon attention!

Questions connexes