Imaginez un paquet avec ces dossier et fichier
package_name
../folder_name_one
../../folder_name_two
../../../file.py
class FarAway: # in file.py
pass
Est-il possible (avec init.py ou un sys.path ou autre chose) d'importer une classe FarAway
simplement en importantpackage_name
import package_name
fa = FarAway()
je sais que je peux faire
from package_name.folder_name_one.folder_name_two.file import Faraway
fa = FarAway()
mais je voudrais "configurer" le paquet afin d'avoir accès à tous les sous-dossiers, afin que je puisse organiser mes fichiers mais je ne veux pas être obligé de le faire
- faites toujours une importation avec le chemin complet
- à tous mettre dans un seul gros fichier.
Merci! Si ce n'est pas possible, j'aimerais savoir...
Solution du problème
Mettez simplement un __init__.py
fichier dans le package_name
dossier qui a le contenu:
from package_name.folder_name_one.folder_name_two.file import Faraway
Cela pourrait aussi être
from folder_name_one.folder_name_two.file import Faraway
selon la façon dont vous appelez les fichiers qui importent Faraway.
Plus d'informations : https://docs.python.org/3/reference/import.html#regular-packages
Aucun commentaire:
Enregistrer un commentaire