V programu mám tento kód: --------------------------------------------------------------------------- def list_dir(self,dir): for root,dirs,files in os.walk(dir): print dirs; for name in dirs: dirname=os.path.join(root,name); if self.exclude_dir(dirname): dirs.remove(name); continue; print name; self.create_context(dirname,True); for file in files: filename=os.path.join(root,file); self.create_context(filename,False); def exclude_dir(self,dir): for e in self.exclude: e=re.sub("/$","",e); if re.search("^"+e,dir): return True; return False;
-------------------------------------------------------------------------- Problém mi ale dělá podmínka exclude_dir, ona jaky by nevynechávala jenom zadaný adresář, ale mimo to i jeden navíc. V dirs mám např(print dirs v kódu): ['usr', 'hosts', 'lib', 'selinux', 'etc', 'lib64', 'var', 'dev', 'bin', 'proc'] a na vynechání mám určene hosts. selinux a var, jenomže ono mi to projde jenom adresáře(print name v kódu): usr lib64 bin Tedy když chci vynechat třeba selinux, tak mi to vynechá i etc, ale zajímavé je, že podadresáře toho v tomto případě etc to vezme, ale v té samotné úrovni to přeskakuje jakoby oba dva adresáře. Předem děkuji za odpověď. Filip Bartmann _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python