Juste pour notifier ici. (d'un newbee, keviv22)
Jamais et jamais pour votre propre bien, nommez les dossiers ou fichiers avec des symboles comme "-" ou "_". Si vous l'avez fait, vous pourriez rencontrer quelques problèmes. comme le mien, par exemple, bien que votre commande d'importation soit correcte, vous ne pourrez pas importer avec succès les fichiers désirés qui sont disponibles dans ces dossiers nommés.
Noms de dossier non valides comme suit:
- Dossier de classes génériques
- Generic_Classes_Folder
noms de dossier valides pour ci-dessus:
- GenericClassesFolder ou Genericclassesfolder ou genericClassesFolder (ou comme ça sans espaces ou symboles spéciaux parmi les mots)
Quelle erreur j'ai fait:
considérez la structure des fichiers.
Parent
. __init__.py
. Setup
.. __init__.py
.. Generic-Class-Folder
... __init__.py
... targetClass.py
. Check
.. __init__.py
.. testFile.py
Qu'est-ce que je voulais faire?
- à partir de testFile.py, je voulais importer le fichier 'targetClass.py' dans le fichier Generic-Class-Folder pour utiliser la fonction nommée "functionExecute" dans le fichier 'targetClass.py'
Quelle commande j'ai fait?
- à partir de 'testFile.py', commande écrite,
from Core.Generic-Class-Folder.targetClass import functionExecute
- J'ai des erreurs comme
SyntaxError: invalid syntax
J'ai essayé de nombreuses recherches et vu de nombreuses questions de stackoverflow et j'ai été incapable de décider de ce qui n'allait pas. J'ai vérifié plusieurs fois mes fichiers, j'ai utilisé un __init__.py
fichier, un chemin d'environnement inséré et je m'inquiétais énormément de ce qui n'allait pas ......
Et après un long long moment, j'ai compris cela en parlant avec un de mes amis. Je suis un peu stupide d'utiliser de telles conventions de dénomination. Je ne devrais jamais utiliser d'espace ou de symboles spéciaux pour définir un nom pour un dossier ou un fichier. Donc, c'est ce que je voulais transmettre. Bonne journée!
(désolé pour l'énorme message à ce sujet ... laisser passer mes frustrations .... :) Merci!)
__init__.py
à chaque sous-dossier à partir duquel vous importez.