Điều thú vị là đủ, nhập os.path sẽ nhập tất cả các os. hãy thử những điều sau trong lời nhắc tương tác:
import os.path
dir(os)
Kết quả sẽ giống như khi bạn vừa nhập os. Điều này là do os.path sẽ tham chiếu đến một mô-đun khác dựa trên hệ điều hành nào bạn có, vì vậy python sẽ nhập os để xác định mô-đun nào cần tải cho đường dẫn.
reference
Với một số mô-đun, nói import foo
sẽ không vạch trần foo.bar
, vì vậy tôi đoán nó thực sự phụ thuộc thiết kế của các module cụ thể.
Nói chung, chỉ cần nhập mô-đun rõ ràng bạn cần phải nhanh hơn một chút. Trên máy tính của tôi:
import os.path
:7.54285810068e-06
giây
import os
:9.21904878972e-06
giây
Những thời gian được tính đủ gần để được khá đáng kể. Chương trình của bạn có thể cần phải sử dụng các mô-đun khác từ os
hoặc ngay bây giờ hoặc sau đó, vì vậy thường có nghĩa là chỉ cần hy sinh hai micro giây và sử dụng import os
để tránh lỗi này sau. Tôi thường phụ thuộc vào việc chỉ cần nhập toàn bộ hệ điều hành, nhưng có thể thấy lý do tại sao một số người thích import os.path
về mặt kỹ thuật hiệu quả hơn và truyền đạt tới người đọc mã đó là phần duy nhất của mô-đun os
cần được sử dụng. Về cơ bản nó tóm lại câu hỏi về phong cách trong đầu tôi.
Nguồn
2010-04-27 19:45:46
Câu trả lời xuất sắc, rất có nhiều thông tin! Xin chúc mừng! Mặc dù nó không trả lời trực tiếp câu hỏi, nhưng nó có rất nhiều chi tiết hữu ích. Nhưng bạn có thể vui lòng xây dựng trên "Điều này phù hợp với cách os.path được ghi lại" không? Giống như Chris Hulan đã nói, ví dụ os.walk() chỉ nhập os thay vì os.path. –
@Denilson, Nó bao gồm một câu trả lời trực tiếp: Tôi luôn luôn làm 'nhập os.path' bản thân mình và nghĩ rằng đó là một cách đẹp hơn. Bởi "Điều này phù hợp với cách os.path được ghi lại" Tôi có nghĩa là nó được đưa ra trang riêng của nó trong tài liệu tại http://docs.python.org/library/os.path.html. –
Tại sao? Tại sao nó được thực hiện theo cách này? – user1712447