IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Boucle ne pas lire dossier vide


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Boucle ne pas lire dossier vide
    Re-bonjour,

    J'ai une boucle de lecture de dossiers du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for i = 8:9
        for j = 1:12
    		for k = 1:31
                             for l = 0:23
     
                                  [blabla]
                                  fichier = dir(fullfile(Directory_source,dossierCourant,'\*.pro'));
     
                              end
    		end
    	end
    end
    J'aimerais bien cassé la boucle si il n'y a pas de dossier à un endroit ou même pas de fichier alors je pensais à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    for i = 8:9
                 if size(ls)<=2
                  break
                 end
                       for j = 1:12
                          if size(ls)<=2
                            break
                          end
    		               for k = 1:31
                                        if size(ls)<=2
                                          break
                                        end
                                              for l = 0:23
                                                   if size(ls)<=2
                                                   break
                                                   end
     
                                                        [blabla]
                                                         fichier = dir(fullfile(Directory_source,dossierCourant,'\*.pro'));
     
                                               end
    		             end
    	       end
    end
    avec bien sûr les "ls" qui vont bien :
    le 1er serait: size(ls(fullfile(num2str(i,'%02d'))))
    le 2ème : size(ls(fullfile(num2str(i,'%02d'),num2str(j,'%02d'))))
    etc..

    Est ce correct? est ce le moyen le plus simple?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Enlève le \ dans FULLFILE.
    Ensuite, pourquoi ne pas tester la variable fichier ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fichier = dir(fullfile(Directory_source,dossierCourant,'*.pro'));
    if isempty(fichier)
       break
    end

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Bah parce que si il arrive déjà au niveau des fichiers, c'est qu'il a fait toute l'arborescence des dossiers et desfois il manque des jours et des heures et j'aimerais couper à ce niveau. Si il manque ne serait ce que un jour cela enlèverai à la boucle : 23 itérations (celles des heures de ce jour)..

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Il suffit donc d'utiliser EXIST dans chaque boucle, non ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    euh oui..merci

Discussions similaires

  1. [CSV] read_csv (ne pas lire les ligne vide)
    Par gpsevasion dans le forum Langage
    Réponses: 4
    Dernier message: 28/01/2007, 14h53
  2. [encodage] Unicode ne sait pas lire unicode...
    Par Mr Hyde dans le forum Bibliothèques tierces
    Réponses: 10
    Dernier message: 01/12/2005, 15h32
  3. Je ne peuxt pas lire de DC/DVD avec suse 9.3
    Par sebA dans le forum Administration système
    Réponses: 7
    Dernier message: 06/07/2005, 09h27
  4. Réponses: 1
    Dernier message: 05/10/2004, 15h51
  5. XSL ne parvient pas à lire les noeuds XML ??
    Par yahn dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 27/06/2004, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo