Astrometry, Python et les répertoires de travail Organiser les documents et chronométrer.

1. Répertoire absolu

Il est défini dans sa totalité par une chaîne de caractères.
Dans l’article précédent, nous avons ainsi vu :

chemin = "/home/alain/travail/"
annexes ="/home/alain/travail/generes/"

2. Répertoire relatif

Il est défini par rapport au répertoire où s’exécute le programme.
En Python, pour connaître celui-ci, on a besoin de deux lignes :

import os
reptravail = os.getcwd()+"/"

Remarque importante : il faut impérativement placer le programme Python dans le répertoire de travail souhaité.
Si on veut pouvoir installer les programmes Python "n’importe où", il faudra définir les répertoires de travail de façon absolue.

3. Exemple concret d’organisation.

Le nom du répertoire de travail est récupéré comme au paragraphe 2.

  • Le nom du répertoire des fichiers annexes est créé à partir du précédent.
    import os
    reptravail = os.getcwd()+"/"
    repannex = reptravail + "/generes/"
  • À partir du nom de l’image, nous voulons créer deux noms supplémentaires :
    - le nom pour une copie modifiée.
    - le nom pour une partie découpée dans l’image principale.
    image =  'quatre'       
    copie = image+"_copie"
    decoupe = image+"_decoupe"

4. Conséquences sur la syntaxe de l’appel à Astrometry.

(Remarque : le nom du répertoire annexe est créé mais ne sert pas encore).

import os
reptravail = os.getcwd()+"/"
repannex        = reptravail + "/generes/"
image =  'quatre'       
copie = image+"_copie"
decoupe = image+"_decoupe"
chaine105 ="solve-field  --scale-unit arcsecperpix --scale-low 8 --scale-high 9 "+reptravail+ copie +".jpg   --dir generes --out "+copie+" --overwrite > resul.txt"
os.system(chaine105)

5. Chronométrer

Il faut avoir importé le module "os".

debut = time.time()
.... opérations à effectuer
fin = time.time()
print("temps écoulé en minutes : ", (fin - debut)/ 60)

6. Un programme rassemblant tout

import os
debut = time.time()
reptravail = os.getcwd()+"/"
repannex        = reptravail + "/generes/"
image =  'quatre'       
copie = image+"_copie"
decoupe = image+"_decoupe"
chaine105 ="solve-field  --scale-unit arcsecperpix --scale-low 8 --scale-high 9 "+reptravail+ copie +".jpg   --dir generes --out "+copie+" --overwrite > resul.txt"
os.system(chaine105)
fin = time.time()
print("temps écoulé en minutes : ", (fin - debut)/ 60)