Nur um hier zu benachrichtigen. (von einem Newbee, keviv22)
Benennen Sie die Ordner oder Dateien niemals zu Ihrem eigenen Wohl mit Symbolen wie "-" oder "_". Wenn Sie dies getan haben, können einige Probleme auftreten. Wie bei mir, obwohl Ihr Befehl zum Importieren korrekt ist, können Sie die gewünschten Dateien, die in solchen benannten Ordnern verfügbar sind, nicht erfolgreich importieren.
Ungültige Ordnernamen wie folgt:
- Generic-Classes-Folder
- Generic_Classes_Folder
gültige Ordnernamen für oben:
- GenericClassesFolder oder Genericclassesfolder oder genericClassesFolder (oder so ohne Leerzeichen oder spezielle Symbole zwischen den Wörtern)
Welchen Fehler habe ich gemacht:
Betrachten Sie die Dateistruktur.
Parent
. __init__.py
. Setup
.. __init__.py
.. Generic-Class-Folder
... __init__.py
... targetClass.py
. Check
.. __init__.py
.. testFile.py
Was wollte ich machen
- Aus testFile.py wollte ich die Datei 'targetClass.py' in die Datei Generic-Class-Folder importieren, um die Funktion "functionExecute" in der Datei 'targetClass.py' zu verwenden
Welchen Befehl habe ich getan?
- aus 'testFile.py', Befehl geschrieben,
from Core.Generic-Class-Folder.targetClass import functionExecute
- Habe Fehler wie
SyntaxError: invalid syntax
Versuchte viele Suchanfragen und sah viele Fragen zum Stapelüberlauf an und konnte nicht entscheiden, was schief gelaufen ist. Ich habe meine Dateien mehrmals überprüft, Dateien verwendet __init__.py
, den Umgebungspfad eingefügt und mir große Sorgen darüber gemacht, was schief gelaufen ist.
Und nach einer langen, langen, langen Zeit habe ich das herausgefunden, als ich mit einem Freund von mir gesprochen habe. Ich bin ein bisschen dumm, solche Namenskonventionen zu verwenden. Ich sollte niemals Leerzeichen oder spezielle Symbole verwenden, um einen Namen für einen Ordner oder eine Datei zu definieren. Das wollte ich also vermitteln. Haben Sie einen guten Tag!
(Entschuldigung für den riesigen Beitrag darüber ... lass einfach meine Frustrationen los ... :) Danke!)
__init__.py
zu jedem Unterordner Sie importieren.