Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
683 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nom

n°2221462
infrarouge​77
Posté le 04-03-2014 à 15:09:01  profilanswer
 

Bonjour,
 
Voici un petit problème qui se pose à moi : j'ai un certain nombre de fichiers txt, correspondant à des mesures réalisées un certain jour à une certaine heure (le jour et l'heure forment le nom du fichier). Ces fichiers sont classées dans des dossiers (de 01 à 12) correspondant au mois, eux mêmes dans des dossiers correspondant à l'année (entre 2000 et 2013). Le nombre de fichiers présents par mois varie d'un mois à l'autre, impossible de le prévoir. De même, il y a certains mois (et même certaines années) où je n'ai aucune mesure, et donc je n'ai pas de dossiers.
 
Si ce n'est pas très clair, voici un exemple sous forme d'arborescence :
 

Code :
  1. /2010/
  2. ---01/
  3. ------15janvier13h15.txt
  4. ------24janvier20h14.txt
  5. ---02/
  6. ------02fevrier08h05.txt
  7. ------02fevrier16h30.txt
  8. ------10fevrier14h00.txt
  9. ------11fevrier18h45.txt
  10. ---04/
  11. ------8mars02h50.txt
  12. ------29mars09h00.txt
  13. /2012/
  14. ---09/
  15. ------12septembre19h30.txt
  16. ---12/
  17. ------24decembre21h00.txt
  18. ------25decembre22h30.txt
  19. ------30decembre08h45.txt
  20. ------31decembre11h15.txt
  21. /2013/
  22. ---05/
  23. ------01mai10h00.txt
  24. ---09/
  25. ------10septembre22h55.txt
  26. ------12septembre22h55.txt
  27. ------24septembre12h30.txt


 
Pour lire un fichier, j'utilise la subroutine suivante :
 

Code :
  1. SUBROUTINE Lecture_Fichier(Fichier,Header,Data)
  2. IMPLICIT NONE
  3. CHARACTER (len=*), INTENT(IN)  :: Fichier !Adresse du fichier à ouvrir
  4. TYPE(T_FIC_HEADER), INTENT(OUT)  :: Header
  5. TYPE(T_FIC_DONNEES), INTENT(OUT) :: Data
  6. INTEGER (kind=4)   :: ios, Size_record
  7. INQUIRE(IOLENGTH=Size_record) Header, Data ! Taille de l'enregistrement à lire enregistrée dans Size_record
  8. OPEN( UNIT=1,   &
  9.   FILE=Fichier,  &
  10.   FORM="unformatted", &
  11.   ACCESS="direct", &
  12.   STATUS="old",  &
  13.   ACTION="read",  &
  14.   RECL=Size_record, &
  15.   IOSTAT=ios  )
  16. IF (ios/=0) THEN
  17.   PRINT *,"Erreur lecture ",Fichier," - code : ",ios
  18. ELSE
  19.   READ(UNIT=1, IOSTAT=ios, REC=1) Header, Data
  20. END IF
  21. CLOSE(UNIT=1)
  22. END SUBROUTINE Lecture_Fichier


 
Or il est nécessaire de connaitre le nom du fichier (et les dossiers le contenant) pour l'ouvrir. Je pourrai, en mode gros bourrin, tester toutes les combinaisons possibles de noms de fichiers, mais ça serait très long et super chronophage...
 
Existe-t-il donc une fonction, ou quelque chose d'autre (une fonction permettant d'ouvrir tour à tour tous les fichiers présents), en Fortran permettant de récupérer les noms des fichiers ou des dossiers présents dans un certain répertoire ?
 
 
Merci d'avance pour votre aide !

mood
Publicité
Posté le 04-03-2014 à 15:09:01  profilanswer
 

n°2221470
rufo
Pas me confondre avec Lycos!
Posté le 04-03-2014 à 16:13:09  profilanswer
 

http://stackoverflow.com/questions [...] -directory
 
Le code source donné en fin de topic devrait t'aider. ;)
 
Edit : cet autre topic va dans le même sens : http://objectmix.com/fortran/11685 [...] sting.html
Fortran ne semble pas avoir le concept de répertoire, il faut donc passer par une commande système de listing des fichiers d'un répertoire donné. :/


Message édité par rufo le 04-03-2014 à 16:14:32

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2221531
infrarouge​77
Posté le 05-03-2014 à 10:01:28  profilanswer
 

Parfait, merci beaucoup ! Je me plonge là dedans


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nom

 

Sujets relatifs
[FORTRAN] Lecture d'un fichier:problème récupération en-tête +mesuresrotation fichiers awstats
[BATCH] Changement d'extension et concaténer des fichiersscript batch kill processus + copie de fichiers
Ouvrir un lien réseau "file://" sous google chromeGestion de fichiers PHP
Fortran : Probleme de lectureProgramme répertoire téléphonique (BUG) HELP PLEASE !!!
ouvrir un lien dans un autre navigateur?[résolu] $directory sur répertoire réseau?
Plus de sujets relatifs à : [FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nom


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR