Bonjour,
Dans le cadre d'une mise en production d'un script d'automatisation, je bute dès le début du script, sur un soucis de déclaration d'argument qui doit être récupéré dans le script.
Voici le script et je m'explique:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# -*- coding: utf-8 -*-
import os
import sys
import time
import os.path
import getopt
 
# Constantes : nom et version du script
__NOM_SCRIPT="verif_dossier.py"
__VERSION_SCRIPT="1.0"
 
# Definition des constantes systemes
__SYSTEM = sys.platform
__PYTHON_VERSION = sys.version
 
# Definition des constantes code retour VTOM
CR_WG = 1 # code retour warning
CR_BL = 3 # code retour bloquant
CR_OK = 0 # code retour bonne execution
 
# Definitions des variables globales :
vg_Debug = False
vg_Param_d = ""
vg_Timeout = 5
 
# Version du CC a completer
__VERSION = __NOM_SCRIPT + "  v" + __VERSION_SCRIPT + " - python "+__PYTHON_VERSION+" - "+__SYSTEM
 
 
#*****************************************************************************************************************************#
#                                         Définitions des fonctions et procédures                                             #
#*****************************************************************************************************************************#
 
def p_Debug(chaine):
    # affiche la chaine lorsque l'option debug est positionnée a True
    if vg_Debug : print str(chaine)
 
def p_Test_Options_Script(arguments):
    # tests les arguments passes en parametres au script
    p_Debug("Tests des arguments du script")
 
    if arguments == [] :
        print "*** un argument est manquant ***"
        p_Print_Usage(CR_BL)
 
 
    p_Test_Option_Dossier()
 
 
def p_Test_Option_Dossier():
    global vg_Param_d
    #le champ -d doit être renseigné obligatoirement
    if vg_Param_d == "" :
        print "*** Il n'y a pas de nom de dossier d'indiqué ***"
        p_Print_Usage(CR_BL)
 
def p_Param_Lg_Commande(params):
    # Gestion des arguments passes en parametre de la ligne de commandes
    global vg_Param_d
    global vg_Debug
    global vg_Timeout
 
 
    try:
 
        opts, args = getopt.getopt(params, "d", ["dossier="])
 
    except getopt.GetoptError, err:
        # print help information and exit:
        print str(err) # will print something like "option -d not recognized"
        p_Print_Usage(CR_BL)
 
    for o, d in opts:
        if o == ("--help"):
            p_Print_Usage(CR_BL)
        elif o in ("--dossier" ,"-d"):
            vg_Param_d = vg_Param_d + ' ' + a
        else :
            assert False, "Option invalide"
 
 
    # affiche un message d erreur en cas de params incorrects
    p_Test_Options_Script(params)
 
def p_Verif_Creation_Dossier():
    global vg_Param_d
 
 
#*******************************************************************************************************************************#
#                                                        Main                                                                   #
#*******************************************************************************************************************************#
 
if __name__ == "__main__":
    # Variable du programme principal
 
    # Affiche la version
    print __VERSION + "\n"
 
    p_Param_Lg_Commande(sys.argv[1:])
    print ('Hello' + vg_Param_d)
Le but de mon script, à terme, est de l'utiliser dans un environnement VTOM, qui est un ordonnanceur.
Le script, aura un argument rentré en dur, par exemple : python NOM_DE_MON_SCRIPT.py -d DOSSIER_LG_PROD
Je voudrais que le script, au passage de l'argument, check si le dossier existe, et dans le cas contraire, le créé avec une nomenclature précise, celle indiquée dans l'argument passée au script.

Il faut donc que je puisse interpréter l'argument dans le script si le dossier demandé n'existe pas, créer ce dossier avec une arborescence précise, et timestamper certains fichiers et dossiers par la suite, mais le soucis actuel est vraiment de pouvoir interpréter en variable l'argument mis dans la ligne de commande, pour que le script automatise le processus de création de l'arborescence en fonction de l'argument rentré.

Je ne sais pas si c'est bien clair mais si quelqu'un a une idée et surtout si c'est faisable.
Merci pour votre précieuse aide.

PS: Il est en cours de construction, il ne faut pas faire attention si des fonctions ne sont pas complètes