229 votes

Importer des variables d'un autre fichier ?

Comment importer des variables d'un fichier à un autre ?

exemple : file1 a les variables x1 y x2 comment les transmettre à file2 ?

Comment puis-je importer todo des variables de l'une à l'autre ?

234voto

ennuikiller Points 28005
from file1 import *  

importera tous les objets et méthodes du fichier 1

127voto

Ashwini Chaudhary Points 94431

Importation file1 à l'intérieur de file2 :

Pour importer toutes les variables du fichier1 sans inonder l'espace de noms du fichier2, utilisez :

import file1

#now use file1.x1, file2.x2, ... to access those variables

Pour importer toutes les variables du fichier 1 dans l'espace de nom du fichier 2 (non recommandé) :

from file1 import *
#now use x1, x2..

De la docs :

Bien qu'il soit valable d'utiliser from module import * au niveau du module, c'est généralement une mauvaise idée. D'une part, cela fait perdre une propriété importante que Python vous pouvez savoir où chaque nom de niveau supérieur est défini par une simple fonction de recherche. simple fonction de "recherche" dans votre éditeur préféré. Vous vous exposez également Vous vous exposez également à des problèmes dans le futur, si un module développe des fonctions ou classes supplémentaires.

76voto

Chris Redford Points 1417

Le meilleur pour importer x1 y x2 explicitement :

from file1 import x1, x2

Cela vous permet d'éviter les conflits inutiles d'espaces de noms avec les variables et les fonctions de l'interface utilisateur. file1 tout en travaillant dans file2 .

Mais si vous voulez vraiment, vous pouvez importer todo les variables :

from file1 import *

31voto

Marc Rechté Points 1547

En fait, ce n'est pas vraiment la même chose que d'importer une variable avec :

from file1 import x1
print(x1)

et

import file1
print(file1.x1)

Bien qu'au moment de l'importation, x1 et file1.x1 aient la même valeur, ce ne sont pas les mêmes variables. Par exemple, appelez une fonction dans file1 qui modifie x1 et essayez ensuite d'imprimer la variable depuis le fichier principal : vous ne verrez pas la valeur modifiée.

17voto

陳仲肯 Points 156

Premier.py :

a=5

second.py :

import first
print(first.a)

Le résultat sera de 5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X