L'importation de variables à partir d'un autre fichier?
Comment puis-je importer des variables d'un fichier à l'autre?
exemple: file1
a les variables x1
et x2
comment passer à file2
?
Comment puis-je importer tous des variables de l'un à l'autre?
- J'ai juste écrit réponse sur le sujet comme il y a 15 minutes que vous devriez lire, de sorte que vous pouvez comprendre pourquoi des milliers de variables pour "passer" d'un module à l'autre est une mauvaise idée. Et aussi pourquoi vous devriez pas les appeler des "fichiers", mais "modules".
- mais n'est-ce pas bon de le sens de la readibilty plus votre réponse semble être du php vs python .
- Que voulez-vous dire? Ma réponse est contenant des conseils généraux qui sont utiles à tous les débutants en Python, et je suis en précisant le vocabulaire, parce que si vous appelez d'un module d'un fichier, vous n'aurez pas à comprendre beaucoup de choses.
Vous devez vous connecter pour publier un commentaire.
va importer tous les objets et les méthodes dans fichier1
ImportError: No module named file1
__init__.py
fichier? Voir here pour plus de détails.Importation
file1
à l'intérieur defile2
:Pour importer toutes les variables de fichier1 sans inondations fichier2 de l'espace de noms, utilisez:
Pour importer toutes les variables de fichier1 fichier2 de l'espace de noms( non recommandé):
De la docs:
import file1
ensuite.file1.varX
pour chaque fichier.Mieux importer x1 et x2 explicitement:
Cela vous permet d'éviter les conflits d'espace de noms avec des variables et des fonctions de
file1
tout en travaillant dansfile2
.Mais si vous voulez vraiment, vous pouvez importer des tous les variables:
En fait, ce n'est pas vraiment la même chose pour importer une variable:
et
Bien à l'importation de temps x1 et fichier1.x1 ont la même valeur, ils ne sont pas les mêmes variables. Par exemple, appeler une fonction dans fichier1 qui modifie x1 et puis essayez d'imprimer une variable dans le fichier principal: vous ne verrez pas la valeur modifiée.
Marc est correct. En fait, vous pouvez imprimer l'adresse de la mémoire pour les variables ( print(hex(id(libvar))) et vous pouvez voir les adresses sont différentes.