2016-12-22 6 views
10

Bevor Sie es markieren als duplizieren lesen Sie bitte mein Problem:Importieren Klasse aus einer anderen Datei

ich aus einem Unterverzeichnis eine Klasse aus einer Datei zu importieren versuchen

> main.py 
> --->folder/ 
> ----->file.py 

und in file.py ich habe eine Klasse imlpemented (Klasa) Was habe ich versucht:

in main.py setzen:

from folder import file 
from file import Klasa 

Ich erhalte die Fehlermeldung:

from file import Klasa

ImportError: No module named 'file'

Wenn ich versuche, einfach zu bedienen:

from folder import file 

ich diesen Fehler:

tmp = Klasa()

NameError: name 'Klasa' is not defined

ich eine leere gesetzt haben __init__.py im Unterordner und es funktioniert immer noch nicht, und ich habe in die __init__.py eingegeben: from file import Klasa und immer noch nicht funktioniert.

Wenn Haupt- und Datei im selben Ordner diese Arbeit:

from file import Klasa

, aber ich möchte, dass sie in separaten Dateien sein.

Kann mir jemand sagen, was ich falsch mache?

Antwort

26

Ihr Problem ist im Grunde, dass Sie nie den richtigen Pfad zu der Datei angegeben haben.

Versuchen Sie stattdessen, aus dem Haupt-Skript:

from folder.file import Klasa 

Oder mit from folder import file:

from folder import file 
k = file.Klasa() 

Oder:

import folder.file as myModule 
k = myModule.Klasa() 
Verwandte Themen