J'ai un jeu de données d'image décrivant différentes activités apparaissant dans les images particulières. Chaque image du jeu de données est nommée sous la forme maintenant je souhaite sélectionner des images avec la même activité, disons "Cuisson" et J'ai décidé de faire cela en utilisant le module Cependant, même si de nombreuses images sont traitées avec succès. Il a finalement été avorté avec Donc, je fais une erreur? Toute entrée est appréciée. P> EDIT: P> En utilisant un mécanisme d'exception en Python, il s'avère que sur près de 150 000 images, il existe un fichier texte appelé Education_13.jpg code>, pratiquant_147.jpg code>, etc. p> re code> en python. Le script que j'ai écrit est comme p> attributeError code>. Il semble que certaines des images ne soient pas assorties avec le motif spécifié. P> temp.txt code> et c'est celui qui viole le motif. P> h1>
3 Réponses :
sans utiliser regex. Utilisation de str.split code>
re.match (motif, racine) code> ne peut renvoyer aucune si ce n'est pas correspondant à p>
re.match (motif, root) == Aucun code> et trouver l'image li>
https://regex101.com/ code> pour vérifier votre REGEXP avec le nom des images li>
ol>
Si Il est difficile de savoir quelles vous donnent des problèmes, mais par défaut Vous pouvez afficher la liste des répertoires, puis peut-être que nous pouvons repérer le fichier. P> re.match (motif, racine) code> n'est pas alors appelant .group (1) code> vous donnera l'erreur d'attribut. Donc, dans certains cas, vous ne semblez pas correspondre à toutes les entrées de votre annuaire. p>
\ w code> correspond uniquement [a-za-z0-9 _] code>, donc: p >
Pouvez-vous ajouter
impression (nom de fichier) code> comme 1ère ligne à l'intérieur de votre boucle, puis lancez votre script et écrivez ce qui est le dernier nom de fichier qui a été imprimé avant l'erreur? De cette façon, nous saurions quel nom de fichier est problématique exactement.En haut de la tête, devinez:
. Code> et.. code>. Mais pourquoi demander ici? Vérifiez simplement le retour dere.match code> et imprimez la valeur incriminée si elle estAucun code>.