Python import : AttributeError: 'module' Objekt hat kein Attribut 'test'

Ich denke, das ist blödes problem, aber ich kann nicht herausfinden, warum bekomme ich die folgende

AttributeError: 'module' object has no attribute 'test'

beim laufen meinen test3.py.

Hier ist mein Projekt Baum :

.
├── __init__.py
├── test3.py
└── testdir
    ├── __init__.py
    └── test.py

Meine test3.py :

#!/usr/bin/python                                                          

import testdir

if __name__ == "__main__":
    print(testdir.test.VAR)

Meine test.py :

#!/usr/bin/python

import os

VAR=os.path.abspath(__file__)

Ich auch versucht zu importieren meiner VAR diese Weise :

from testdir.test import VAR

EDIT: das Jetzt funktioniert-Dank @user2357112 - aber ich würde immer noch gerne wissen, wie man das ganze importieren test.py Datei ohne from ... import ... wenn es möglich ist. 🙂

Und ich versuchte eine import ..testdir zu tun, eine relative importieren, aber ich habe einen SyntaxError.

Und wenn ich versuche import testdir.test ich eine NameError: name'test' is not defined.

Wie könnte ich diese Datei importieren? Ich bin ein wenig verwirrt.

BEARBEITEN bis :

Ich entschuldige mich, wenn ich versuchte import testdir.test ich auch geändert print(testdir.test.VAR) zu print(test.VAR).

Das war das problem, mein schlechtes.

mit :

#!/usr/bin/python                                                          

import testdir.test

if __name__ == "__main__":
    print(testdir.test.VAR)

Funktioniert es perfekt, obwohl ich beim importieren testdir.test gemacht test existieren allein (und nicht testdir.test) im Rahmen.

Sorry für die Unannehmlichkeiten. :S

Ist vAR aktivierte gerne in Ihrem eigentlichen Datei?
My bad, du hast Recht. Jetzt from testdir.test import VAR funktioniert, danke. Aber wie könnte ich den import der gesamten Datei ohne Verwendung einer from ... import ...?
import testdir.test. Importieren eines Pakets nicht automatisch laden seine Submodule.
Ich habe versucht, aber ich bekam einen Fehler.

InformationsquelleAutor vmonteco | 2015-06-14

Schreibe einen Kommentar