Bonjour j'utilise un programme sous Linux (gdesklets) pour ceux qui connaissent. l'un des "desklets" permet de visionner les photos d'un répertoire et des sous-répertoire.
Pour ce faire il fonctionne à partir du script
http://snippets.dzone.com/posts/show/644 .
Utilisant picasa pour l'archivage et le traitement de mes photos, celui-ci crée dans les répertoires des photos une sous répertoire "Originals" pour stocker les originaux. Je souhaite exclure ces sous-répertoire de la liste.
Comment faire, j'ajoute que je suis novice en programmation python.
Voici le code :
# Taken from http://snippets.dzone.com/posts/show/644
import os, stat, types, fnmatch
def walktree (top = ".", depthfirst = True):
names = os.listdir(top)
if not depthfirst:
yield top, names
for name in names:
try:
st = os.lstat(os.path.join(top, name))
except os.error, os.path.join("Originals"):
continue
if stat.S_ISDIR(st.st_mode):
for (newtop, children) in walktree (os.path.join(top, name), depthfirst):
yield newtop, children
if depthfirst:
yield top, names
def make_directory_list (directory):
mylist=[code]
for (top, names) in walktree(directory):
#print "searching folder %s" % (top,)
for name in names:
#if fnmatch( name, "*.jpg" ) | fnmatch( name, "*.gif" ) | fnmatch( name, "*.jpeg" ) | fnmatch( name, "*.png" )
if fnmatch.fnmatch( name.lower(), "*.jpg" ) | fnmatch.fnmatch( name.lower(), "*.png" ) | fnmatch.fnmatch( name.lower(), "*.gif" ) | fnmatch.fnmatch( name.lower(), "*.jpeg" ):
mylist.append(os.path.join(top, name))
return mylist[/code]