bonjour
y a t il un moyen simple de connaitre les fonctions présentes dans un
module, une fois qu'on l'a importé.
Par exemple après avoir exécté
from os import *
comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma
disposition ?
philippe
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe Cavalaria
philippe wrote:
bonjour y a t il un moyen simple de connaitre les fonctions présentes dans un module, une fois qu'on l'a importé. Par exemple après avoir exécté from os import * comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma disposition ? philippe Il suffit de faire
import os dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de traitement. Très pratique mais ça ne donne aucune information sur la signature ou sur la semantique des symboles trouvés. help ne marche pas toujours mais il donne un resultat plus complet quand la doc est dispo.
philippe wrote:
bonjour
y a t il un moyen simple de connaitre les fonctions présentes dans un
module, une fois qu'on l'a importé.
Par exemple après avoir exécté
from os import *
comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma
disposition ?
philippe
Il suffit de faire
import os
dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de
traitement. Très pratique mais ça ne donne aucune information sur la
signature ou sur la semantique des symboles trouvés. help ne marche pas
toujours mais il donne un resultat plus complet quand la doc est dispo.
bonjour y a t il un moyen simple de connaitre les fonctions présentes dans un module, une fois qu'on l'a importé. Par exemple après avoir exécté from os import * comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma disposition ? philippe Il suffit de faire
import os dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de traitement. Très pratique mais ça ne donne aucune information sur la signature ou sur la semantique des symboles trouvés. help ne marche pas toujours mais il donne un resultat plus complet quand la doc est dispo.
philippe
In article <431b1c37$0$32716$, Christophe Cavalaria wrote:
philippe wrote:
bonjour y a t il un moyen simple de connaitre les fonctions présentes dans un module, une fois qu'on l'a importé. Par exemple après avoir exécté from os import * comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma disposition ? philippe Il suffit de faire
import os dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de traitement. Très pratique mais ça ne donne aucune information sur la signature ou sur la semantique des symboles trouvés. help ne marche pas toujours mais il donne un resultat plus complet quand la doc est dispo.
Merci c ce que je cherchais dir c un peu brut de fonderie ( disons que c peu lisible mais c court on peut voir si la fonction que l'on cherche est présente) le help marche aussi chez moi (:-) et là y a tout ce dont j'ai besoin ! philippe
In article <431b1c37$0$32716$626a14ce@news.free.fr>, Christophe
Cavalaria <chris.cavalaria@free.fr> wrote:
philippe wrote:
bonjour
y a t il un moyen simple de connaitre les fonctions présentes dans un
module, une fois qu'on l'a importé.
Par exemple après avoir exécté
from os import *
comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma
disposition ?
philippe
Il suffit de faire
import os
dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de
traitement. Très pratique mais ça ne donne aucune information sur la
signature ou sur la semantique des symboles trouvés. help ne marche pas
toujours mais il donne un resultat plus complet quand la doc est dispo.
Merci c ce que je cherchais
dir c un peu brut de fonderie ( disons que c peu lisible mais c court
on peut voir si la fonction que l'on cherche est présente)
le help marche aussi chez moi (:-) et là y a tout ce dont j'ai besoin !
philippe
In article <431b1c37$0$32716$, Christophe Cavalaria wrote:
philippe wrote:
bonjour y a t il un moyen simple de connaitre les fonctions présentes dans un module, une fois qu'on l'a importé. Par exemple après avoir exécté from os import * comment puis je savoir toutes les nouvelles "fonctions" qui sont à ma disposition ? philippe Il suffit de faire
import os dir(os) ou help(os)
dir liste le contenu des objets du module sans aucune autre forme de traitement. Très pratique mais ça ne donne aucune information sur la signature ou sur la semantique des symboles trouvés. help ne marche pas toujours mais il donne un resultat plus complet quand la doc est dispo.
Merci c ce que je cherchais dir c un peu brut de fonderie ( disons que c peu lisible mais c court on peut voir si la fonction que l'on cherche est présente) le help marche aussi chez moi (:-) et là y a tout ce dont j'ai besoin ! philippe
R12y
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les fonctions du module "os". Est-ce qu'il y a des différences subtiles dans les entrailles de la machine? (plus de place prise en mémoire, ou autre,...)
Merci.
-- SPIP, phpNuke, Plone, opengroupware... c'est bien CPS c'est mieux: http://www.cps-project.org/ Hébergement de sites CPS: http://www.objectis.org/
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les
fonctions du module "os". Est-ce qu'il y a des différences subtiles dans
les entrailles de la machine? (plus de place prise en mémoire, ou autre,...)
Merci.
--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les fonctions du module "os". Est-ce qu'il y a des différences subtiles dans les entrailles de la machine? (plus de place prise en mémoire, ou autre,...)
Merci.
-- SPIP, phpNuke, Plone, opengroupware... c'est bien CPS c'est mieux: http://www.cps-project.org/ Hébergement de sites CPS: http://www.objectis.org/
Christophe Cavalaria
R12y wrote:
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les fonctions du module "os". Est-ce qu'il y a des différences subtiles dans les entrailles de la machine? (plus de place prise en mémoire, ou autre,...)
Merci.
En effet, il y a une grande différence car ces fonctions ne font pas du tout
la même chose, à un petit détail pret :)
import os va demander a Python de charger le module os en mémoire, puis la lier la variable os vers ce module. Le résultat est exactement équivalent à : os = __import__('os')
from os import * est une version spéciale de from os import name. Cela va charger le module os en mémoire mais cela ne va absolument pas affecter la variable locale os. En échange, il va prendre le symbole name et l'affecter à la variable locale main.
C'est équivalent à peut pret à : name = __import__('os').name
On peut noter la variante from os import name as other qui nous donne l'équivalent : other = __import__('os').name
Pour savoir laquelle de ces formes utiliser, il faut savoir qu'il y a 2 considérations importantes :
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
- la forme from os import symbole ( as ... ) est conseillé en remplacement de celle au dessus, surtout si vous n'avez besoin que d'une ou de 2 fonctions dans le module.
- la forme import os est la plus conseillée.
Enfin, il reste un dernier avantage à la forme "import os" qui est qu'elle permet dans une moindre mesure d'avoir un module a qui import un module b qui importe le même module a.
R12y wrote:
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les
fonctions du module "os". Est-ce qu'il y a des différences subtiles dans
les entrailles de la machine? (plus de place prise en mémoire, ou
autre,...)
Merci.
En effet, il y a une grande différence car ces fonctions ne font pas du tout
la même chose, à un petit détail pret :)
import os va demander a Python de charger le module os en mémoire, puis la
lier la variable os vers ce module. Le résultat est exactement équivalent
à :
os = __import__('os')
from os import * est une version spéciale de from os import name. Cela va
charger le module os en mémoire mais cela ne va absolument pas affecter la
variable locale os. En échange, il va prendre le symbole name et l'affecter
à la variable locale main.
C'est équivalent à peut pret à :
name = __import__('os').name
On peut noter la variante from os import name as other qui nous donne
l'équivalent :
other = __import__('os').name
Pour savoir laquelle de ces formes utiliser, il faut savoir qu'il y a 2
considérations importantes :
- la forme from os import * est déconseillée car elle "pollue" l'espace de
nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible
sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent
un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose
pas de problème il faut bien dire mais c'est juste mieux de ne pas
l'utiliser.
- la forme from os import symbole ( as ... ) est conseillé en remplacement
de celle au dessus, surtout si vous n'avez besoin que d'une ou de 2
fonctions dans le module.
- la forme import os est la plus conseillée.
Enfin, il reste un dernier avantage à la forme "import os" qui est qu'elle
permet dans une moindre mesure d'avoir un module a qui import un module b
qui importe le même module a.
On Sun, 04 Sep 2005 18:08:43 +0200, Christophe Cavalaria wrote:
from os import *
import os
Par curiosité:
Ces deux lignes font la même chose, à savoir importent toutes les fonctions du module "os". Est-ce qu'il y a des différences subtiles dans les entrailles de la machine? (plus de place prise en mémoire, ou autre,...)
Merci.
En effet, il y a une grande différence car ces fonctions ne font pas du tout
la même chose, à un petit détail pret :)
import os va demander a Python de charger le module os en mémoire, puis la lier la variable os vers ce module. Le résultat est exactement équivalent à : os = __import__('os')
from os import * est une version spéciale de from os import name. Cela va charger le module os en mémoire mais cela ne va absolument pas affecter la variable locale os. En échange, il va prendre le symbole name et l'affecter à la variable locale main.
C'est équivalent à peut pret à : name = __import__('os').name
On peut noter la variante from os import name as other qui nous donne l'équivalent : other = __import__('os').name
Pour savoir laquelle de ces formes utiliser, il faut savoir qu'il y a 2 considérations importantes :
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
- la forme from os import symbole ( as ... ) est conseillé en remplacement de celle au dessus, surtout si vous n'avez besoin que d'une ou de 2 fonctions dans le module.
- la forme import os est la plus conseillée.
Enfin, il reste un dernier avantage à la forme "import os" qui est qu'elle permet dans une moindre mesure d'avoir un module a qui import un module b qui importe le même module a.
Laurent Pointal
Christophe Cavalaria wrote:
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie par celle de os... le symptome est qu'on manipule alors un descripteur de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement pour tout module xxx dont on n'a pas la charge.
A+
Laurent.
Christophe Cavalaria wrote:
- la forme from os import * est déconseillée car elle "pollue" l'espace de
nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible
sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent
un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose
pas de problème il faut bien dire mais c'est juste mieux de ne pas
l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie
par celle de os... le symptome est qu'on manipule alors un descripteur
de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement
pour tout module xxx dont on n'a pas la charge.
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie par celle de os... le symptome est qu'on manipule alors un descripteur de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement pour tout module xxx dont on n'a pas la charge.
A+
Laurent.
Laurent Pointal
Laurent Pointal wrote:
Christophe Cavalaria wrote:
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie par celle de os... le symptome est qu'on manipule alors un descripteur de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement pour tout module xxx dont on n'a pas la charge.
A+
Laurent.
Oups 'fair' => fait, 'es' => est et pendant qu'on y est 'symptome' => symptôme
Laurent Pointal wrote:
Christophe Cavalaria wrote:
- la forme from os import * est déconseillée car elle "pollue" l'espace de
nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible
sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent
un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose
pas de problème il faut bien dire mais c'est juste mieux de ne pas
l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie
par celle de os... le symptome est qu'on manipule alors un descripteur
de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement
pour tout module xxx dont on n'a pas la charge.
A+
Laurent.
Oups
'fair' => fait,
'es' => est
et pendant qu'on y est
'symptome' => symptôme
- la forme from os import * est déconseillée car elle "pollue" l'espace de nom. Avec une telle notation, tout et n'importe quoi se retrouve accessible sans aucun vrai contrôle. Si à l'avenir les auteurs du module os ajoutent un nouveau symbole, cela pourrait causer des bugs. En général, cela ne pose pas de problème il faut bien dire mais c'est juste mieux de ne pas l'utiliser.
Si si, particulièrement avec os ça pose problème.
Lorsque l'on fair un from os import *, la fonction 'open' es redéfinie par celle de os... le symptome est qu'on manipule alors un descripteur de fichier entier au lieu du file habituel.
Bref, from xxx import * est à éviter en général, et particulièrement pour tout module xxx dont on n'a pas la charge.
A+
Laurent.
Oups 'fair' => fait, 'es' => est et pendant qu'on y est 'symptome' => symptôme