Je voudrais savoir s'il existe un algorithme ou une bibliothèque
existante qui permettrait de lire et d'écrire dans un fichier ou l'on
stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX
param2= XXX
...
De sorte que cela soit facile à modifier à la main si besoin en est.
J'avais le même pb ; puis, après réflexion, j'ai fini par utiliser, tout simplement, un fichier "config.py" ; un simple script Python !
Bonne @nnée -- Michel Claveau
F. Petitjean
Bonsoir !
J'avais le même pb ; puis, après réflexion, j'ai fini par utiliser, tout simplement, un fichier "config.py" ; un simple script Python ! J'ai vu, je ne sais plus dans quel logiciel, l'astuce suivante :
le module config contient et définit un dictionnaire nommé « py » py = dict(param1="valeur1", note='Ne pas oublier le pain' ) Depuis un autre module import config print config.py['note'] nombre = config.py.get('nombre', 20) etc
Bonne @nnée et bonne santé
Bonsoir !
J'avais le même pb ; puis, après réflexion, j'ai fini par utiliser, tout
simplement, un fichier "config.py" ; un simple script Python !
J'ai vu, je ne sais plus dans quel logiciel, l'astuce suivante :
le module config contient et définit un dictionnaire nommé « py »
py = dict(param1="valeur1", note='Ne pas oublier le pain' )
Depuis un autre module
import config
print config.py['note']
nombre = config.py.get('nombre', 20)
etc
J'avais le même pb ; puis, après réflexion, j'ai fini par utiliser, tout simplement, un fichier "config.py" ; un simple script Python ! J'ai vu, je ne sais plus dans quel logiciel, l'astuce suivante :
le module config contient et définit un dictionnaire nommé « py » py = dict(param1="valeur1", note='Ne pas oublier le pain' ) Depuis un autre module import config print config.py['note'] nombre = config.py.get('nombre', 20) etc
Bonne @nnée et bonne santé
Wilk
Windoz writes:
Bonjour,
Je voudrais savoir s'il existe un algorithme ou une bibliothèque existante qui permettrait de lire et d'écrire dans un fichier ou l'on stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX param2= XXX ...
De sorte que cela soit facile à modifier à la main si besoin en est.
Tu peux utiliser le module ConfigParser par ex. Y a un truc sympa aussi pour ça c'est yaml.
-- William - http://flibuste.net
Windoz <windoz@tiscali.fr> writes:
Bonjour,
Je voudrais savoir s'il existe un algorithme ou une bibliothèque
existante qui permettrait de lire et d'écrire dans un fichier ou l'on
stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX
param2= XXX
...
De sorte que cela soit facile à modifier à la main si besoin en est.
Tu peux utiliser le module ConfigParser par ex. Y a un truc sympa aussi
pour ça c'est yaml.
Je voudrais savoir s'il existe un algorithme ou une bibliothèque existante qui permettrait de lire et d'écrire dans un fichier ou l'on stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX param2= XXX ...
De sorte que cela soit facile à modifier à la main si besoin en est.
Tu peux utiliser le module ConfigParser par ex. Y a un truc sympa aussi pour ça c'est yaml.
-- William - http://flibuste.net
News M Claveau /Hamster-P
Bonjour !
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais très bien faire : config = dict(param1="valeur1", note='Ne pas oublier le pain' ) dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA : config = {} config['param1']='valeur1' config['note']='Ne pas oublier le pain'
Dans le logiciel, il suffit de faire : execfile("BA.2005",globals(),globals()) pour avoir le dictionnaire sous la main ; et faire : print config['note']
Bonjour !
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais
très bien faire :
config = dict(param1="valeur1", note='Ne pas oublier le pain' )
dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA
:
config = {}
config['param1']='valeur1'
config['note']='Ne pas oublier le pain'
Dans le logiciel, il suffit de faire :
execfile("BA.2005",globals(),globals())
pour avoir le dictionnaire sous la main ; et faire :
print config['note']
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais très bien faire : config = dict(param1="valeur1", note='Ne pas oublier le pain' ) dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA : config = {} config['param1']='valeur1' config['note']='Ne pas oublier le pain'
Dans le logiciel, il suffit de faire : execfile("BA.2005",globals(),globals()) pour avoir le dictionnaire sous la main ; et faire : print config['note']
F. Petitjean
Bonjour !
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais très bien faire : config = dict(param1="valeur1", note='Ne pas oublier le pain' ) dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA : config = {} config['param1']='valeur1' config['note']='Ne pas oublier le pain' Fondamentalement la même chose, il me semble que nous sommes d'accord.
Dans le logiciel, il suffit de faire : execfile("BA.2005",globals(),globals()) Aïe aïe ouille. Simplement à cause du nom du fichier !
pour avoir le dictionnaire sous la main ; et faire : print config['note']
On ne vous a jamais dit qu'il vaut mieux éviter :
les globaux les instructions du genre execfile() ou eval() ? s/BA.2005/BA_2005.py/ et from BA_2005 import config ou bien annee = "%s" % (2005,) cfg = __import__("BA_%s" % (annee,)) print cfg.config['note'] ou faire help(__import__) et voir les autres paramètres.
--
Ce qui se conçoit bien s'énonce clairement Et les mots pour le dire viennent aisément. Boileau Despréaux.
Bonjour !
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais
très bien faire :
config = dict(param1="valeur1", note='Ne pas oublier le pain' )
dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA
:
config = {}
config['param1']='valeur1'
config['note']='Ne pas oublier le pain'
Fondamentalement la même chose, il me semble que nous sommes d'accord.
Dans le logiciel, il suffit de faire :
execfile("BA.2005",globals(),globals())
Aïe aïe ouille. Simplement à cause du nom du fichier !
pour avoir le dictionnaire sous la main ; et faire :
print config['note']
On ne vous a jamais dit qu'il vaut mieux éviter :
les globaux
les instructions du genre execfile() ou eval() ?
s/BA.2005/BA_2005.py/
et from BA_2005 import config
ou bien
annee = "%s" % (2005,)
cfg = __import__("BA_%s" % (annee,))
print cfg.config['note']
ou faire help(__import__) et voir les autres paramètres.
--
Ce qui se conçoit bien s'énonce clairement
Et les mots pour le dire viennent aisément.
Boileau Despréaux.
C'est aussi une idée. Mais, tant qu'à utiliser un dictionnaire, on pourrais très bien faire : config = dict(param1="valeur1", note='Ne pas oublier le pain' ) dans un fichiers quelconque ("BA.2005" par exemple). Ou, plus lisible, AMHA : config = {} config['param1']='valeur1' config['note']='Ne pas oublier le pain' Fondamentalement la même chose, il me semble que nous sommes d'accord.
Dans le logiciel, il suffit de faire : execfile("BA.2005",globals(),globals()) Aïe aïe ouille. Simplement à cause du nom du fichier !
pour avoir le dictionnaire sous la main ; et faire : print config['note']
On ne vous a jamais dit qu'il vaut mieux éviter :
les globaux les instructions du genre execfile() ou eval() ? s/BA.2005/BA_2005.py/ et from BA_2005 import config ou bien annee = "%s" % (2005,) cfg = __import__("BA_%s" % (annee,)) print cfg.config['note'] ou faire help(__import__) et voir les autres paramètres.
--
Ce qui se conçoit bien s'énonce clairement Et les mots pour le dire viennent aisément. Boileau Despréaux.
Didier FRAISSE
Bonjour,
Je voudrais savoir s'il existe un algorithme ou une bibliothèque existante qui permettrait de lire et d'écrire dans un fichier ou l'on stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX param2= XXX ....
De sorte que cela soit facile à modifier à la main si besoin en est.
Merci
Bonjour
Pourquoi ne pas utiliser ConfigParser ?
import os,ConfigParser
# Charge le fichier de configuration configFile = 'ScanTrtAuto.cfg' config = ConfigParser.ConfigParser() config.readfp(open(os.path.abspath(configFile))) param1 = config.get('param','param1') param2 = config.get('param','param2')
et pour le fichier de config
[param] param1 = 1 param2 = c'est un paramètre
[system] .....
etc
Bonne année Didier
Bonjour,
Je voudrais savoir s'il existe un algorithme ou une bibliothèque
existante qui permettrait de lire et d'écrire dans un fichier ou l'on
stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX
param2= XXX
....
De sorte que cela soit facile à modifier à la main si besoin en est.
Merci
Bonjour
Pourquoi ne pas utiliser ConfigParser ?
import os,ConfigParser
# Charge le fichier de configuration
configFile = 'ScanTrtAuto.cfg'
config = ConfigParser.ConfigParser()
config.readfp(open(os.path.abspath(configFile)))
param1 = config.get('param','param1')
param2 = config.get('param','param2')
Je voudrais savoir s'il existe un algorithme ou une bibliothèque existante qui permettrait de lire et d'écrire dans un fichier ou l'on stockerait tt les paramètres à retenir sous la forme par exemple:
param1= XXX param2= XXX ....
De sorte que cela soit facile à modifier à la main si besoin en est.
Merci
Bonjour
Pourquoi ne pas utiliser ConfigParser ?
import os,ConfigParser
# Charge le fichier de configuration configFile = 'ScanTrtAuto.cfg' config = ConfigParser.ConfigParser() config.readfp(open(os.path.abspath(configFile))) param1 = config.get('param','param1') param2 = config.get('param','param2')
et pour le fichier de config
[param] param1 = 1 param2 = c'est un paramètre
[system] .....
etc
Bonne année Didier
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonsoir !
Les exec, j'en utilise énormément. Cela me permet d'exécuter des scripts redéfinissables durant l'exécution, et associés à des objets de pages HTML, ou de fiches de saisies. On peut simuler des "import" via XML-RPC, web-services, FTP, HTTP, ou via des fichiers compressés et protégés par un mot de passe. Cela me permet d'embarquer des scripts Python dans différents logiciels/langages comme Word, Excel, ou javascript. Je peux aussi réaliser des sérialisations codes/données difficilement réalisables autrement. Etc. etc.
A mon avis, il y a moins de problèmes à utiliser exec, qu'à faire des "from xxx import *"
Pour les globals(), c'est souvent considéré comme un aspect améliorant exec (voir "Python en concentré").
Exec, c'est un des aspects dynamiques de Python que je trouve des plus pratiques. Et j'espère que cela continuera longtemps encore.
Si l'on se rapporte au cas cité, il n'y a aucune différence fonctionnelle entre "import" et "execfile". Il s'agit simplement de choisir si l'on veut, ou non, préfixer la dictionnaire avec le nom du module.
Bonne soirée -- Michel Claveau
Bonsoir !
Les exec, j'en utilise énormément. Cela me permet d'exécuter des scripts
redéfinissables durant l'exécution, et associés à des objets de pages HTML,
ou de fiches de saisies.
On peut simuler des "import" via XML-RPC, web-services, FTP, HTTP, ou via
des fichiers compressés et protégés par un mot de passe.
Cela me permet d'embarquer des scripts Python dans différents
logiciels/langages comme Word, Excel, ou javascript.
Je peux aussi réaliser des sérialisations codes/données difficilement
réalisables autrement.
Etc. etc.
A mon avis, il y a moins de problèmes à utiliser exec, qu'à faire des "from
xxx import *"
Pour les globals(), c'est souvent considéré comme un aspect améliorant exec
(voir "Python en concentré").
Exec, c'est un des aspects dynamiques de Python que je trouve des plus
pratiques. Et j'espère que cela continuera longtemps encore.
Si l'on se rapporte au cas cité, il n'y a aucune différence fonctionnelle
entre "import" et "execfile". Il s'agit simplement de choisir si l'on veut,
ou non, préfixer la dictionnaire avec le nom du module.
Les exec, j'en utilise énormément. Cela me permet d'exécuter des scripts redéfinissables durant l'exécution, et associés à des objets de pages HTML, ou de fiches de saisies. On peut simuler des "import" via XML-RPC, web-services, FTP, HTTP, ou via des fichiers compressés et protégés par un mot de passe. Cela me permet d'embarquer des scripts Python dans différents logiciels/langages comme Word, Excel, ou javascript. Je peux aussi réaliser des sérialisations codes/données difficilement réalisables autrement. Etc. etc.
A mon avis, il y a moins de problèmes à utiliser exec, qu'à faire des "from xxx import *"
Pour les globals(), c'est souvent considéré comme un aspect améliorant exec (voir "Python en concentré").
Exec, c'est un des aspects dynamiques de Python que je trouve des plus pratiques. Et j'espère que cela continuera longtemps encore.
Si l'on se rapporte au cas cité, il n'y a aucune différence fonctionnelle entre "import" et "execfile". Il s'agit simplement de choisir si l'on veut, ou non, préfixer la dictionnaire avec le nom du module.