2011-09-14 66 views
5

Trong một trong Python tôi gói tập tin __init__.py chứa các tuyên bốtừ. nhập khẩu XXXX

from . import XXXX 

Gì "" có nghĩa là ở đây? Tôi có kỹ thuật này bằng cách nhìn vào một gói khác, nhưng tôi không hiểu ý nghĩa của nó.

Cảm ơn!

Trả lời

5

Đây là relative import.

+1

Duh, tất nhiên là như vậy. Cảm ơn bạn đã chỉ cho tôi tên chính xác của đối tượng địa lý. – jlconlin

+0

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (// meta.stackoverflow.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. – Barmar

10

Nhập tương đối của nó. Từ: http://docs.python.org/py3k/reference/simple_stmts.html#the-import-statement

Khi xác định những gì module để nhập bạn không cần phải xác định tên tuyệt đối của các mô-đun. Khi một mô-đun hoặc gói được chứa trong gói khác, bạn có thể thực hiện nhập tương đối trong phạm vi cùng một gói hàng đầu mà không phải đề cập đến tên gói. Bằng cách sử dụng dấu chấm đầu trong mô-đun hoặc gói được chỉ định sau từ bạn có thể chỉ định mức độ vượt qua phân cấp gói hiện tại mà không chỉ định tên chính xác.

Một dấu chấm đầu có nghĩa là gói hiện tại nơi mô-đun thực hiện việc nhập tồn tại. Hai chấm nghĩa là tăng một cấp gói. Ba dấu chấm là hai cấp độ, vv Vì vậy, nếu bạn thực hiện from . import mod từ một mô-đun trong gói pkg thì bạn sẽ kết thúc lên nhập pkg.mod. Nếu bạn thực hiện từ ..subpkg2 import mod từ trong pkg.subpkg1, bạn sẽ nhập pkg.subpkg2.mod. Các đặc điểm kỹ thuật cho nhập khẩu tương đối được chứa trong PEP 328.

Các vấn đề liên quan