2016-12-22 13 views
10

Trước khi bạn đánh dấu nó như trùng lặp xin vui lòng đọc vấn đề của tôi:Nhập lớp từ một tập tin

Tôi cố gắng để nhập khẩu một lớp từ một tập tin từ một thư mục con

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

và trong file.py tôi có một lớp imlpemented (Klasa) Tôi đã thử những gì:

đặt trong main.py:

from folder import file 
from file import Klasa 

Tôi nhận được lỗi:

from file import Klasa

ImportError: No module named 'file'

Khi tôi cố gắng sử dụng chỉ:

from folder import file 

tôi nhận được lỗi này:

tmp = Klasa()

NameError: name 'Klasa' is not defined

Tôi đã đặt một trống __init__.py trong thư mục con và nó vẫn không hoạt động, và tôi đã đặt trong __init__.py: from file import Klasa và vẫn không hoạt động.

Nếu chính và tập tin nằm trong cùng một thư mục công việc này:

from file import Klasa

nhưng tôi muốn họ được trong các tập tin riêng biệt.

Ai đó có thể cho tôi biết tôi đang làm gì sai không?

Trả lời

26

Vấn đề của bạn về cơ bản là bạn chưa bao giờ chỉ định đúng đường dẫn đến tệp.

Hãy thử thay vào đó, từ kịch bản chính của bạn:

from folder.file import Klasa 

Hoặc, với from folder import file:

from folder import file 
k = file.Klasa() 

Hoặc một lần nữa:

import folder.file as myModule 
k = myModule.Klasa() 
Các vấn đề liên quan