Python : comment détecter des noms de fichiers qui ne sont pas présents dans un fichier ?

Voilà, je viens de me donner un défi. Je l’expliquerai après.
Top chrono : 16:34 – Fini : 16:43
Voici mon problème : j’ai un fichier « index.htm » qui utilise plein de fichiers images. Seulement, tous ces fichiers « images » sont mélangés dans un seul et même répertoire, avec d’autres fichiers qui ne sont pas présents. Je voulais un listing des fichiers présents, et des fichiers pas présents.
9 minutes en python.
Voici mon script, qui n’est pas fabuleux, mais qui fonctionne bien :

  1 #!/usr/bin/python
  2 # -*- coding: utf-8 -*-
  3
  4 import os
  5
  6 path = './img'
  7 f = open('./index.htm', 'r')
  8 s = f.read()
  9 for nom in os.listdir(path):
 10     if s.find(nom)>=0:
 11         print "Présent - "+nom
 12
 13 for nom in os.listdir(path):
 14     if s.find(nom)<0:  15         print "Absent - "+nom

Bien sûr, il y aurait possibilité de faire ça en shell / bash, mais en python c'est tellement plus sympa 😉
Si ça peut éventuellement aider la communauté, j'en fais un article.

2 comments

Répondre à MathRobin Annuler la réponse.

Vous devriez utiliser le HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.