Tệp tham chiếu Python trong cùng một thư mục

Các mô-đun chỉ đơn giản là một con trăn. py mà từ đó chúng ta có thể sử dụng các hàm, lớp, biến trong một tệp khác. Để sử dụng những thứ này trong một tệp khác, trước tiên chúng ta cần nhập mô-đun đó vào tệp đó. Nếu mô-đun tồn tại trong cùng thư mục với tệp, chúng ta có thể nhập trực tiếp mô-đun đó bằng cú pháp import module_name. Nhưng nếu nó tồn tại trong một thư mục khác, chúng tôi không thể nhập trực tiếp nó. Trong bài viết này, chúng ta sẽ thảo luận về nhiều cách khác nhau trong đó các mô-đun có thể được nhập từ bên ngoài thư mục

Cây thư mục của chúng ta sẽ như sau

D :\projects\base
|__main.py   
|__app:
      |__modules
           |___mod.py

Chúng tôi có một thư mục có tên là 'cơ sở' trong D. \projects và trong thư mục cơ sở, chúng tôi có một thư mục có tên là ứng dụng. Thư mục cơ sở chứa chính. py từ đó chúng tôi sẽ nhập mô-đun. Thư mục ứng dụng chứa một thư mục khác có tên là mô-đun chứa mod. py là mô-đun cần được nhập

Chúng tôi sẽ giữ mã của cả hai tệp đơn giản nhất có thể để giải thích rõ hơn

chế độ. py

con trăn




hello geeks!
5

hello geeks!
6
hello geeks!
7

hello geeks!
8

hello geeks!
0
hello geeks!
1

hello geeks!
0
hello geeks!
3
hello geeks!
4
hello geeks!
5
hello geeks!
6

Bây giờ chúng tôi sẽ nhập mod mô-đun. py và gọi hàm của nó là hello trong main. py bằng nhiều phương pháp khác nhau.  

Phương pháp 1. sử dụng sys. con đường. nối thêm []

hệ thống. biến đường dẫn của mô-đun sys chứa danh sách tất cả các thư mục mà python sẽ tìm kiếm một mô-đun để nhập. Chúng ta có thể gọi trực tiếp phương thức này để xem các thư mục mà nó chứa. Vì vậy, để nhập mod. py trong chính. py chúng ta sẽ nối thêm đường dẫn của mod. py trong hệ thống. đường dẫn để nhập mod tìm kiếm python. py trong các thư mục của nó và tìm thấy nó để nhập thành công. Mã cho phương pháp này sẽ là

con trăn




hello geeks!
7

hello geeks!
8
hello geeks!
9

 

hello geeks!
0

hello geeks!
1

hello geeks!
2____13
hello geeks!
4

 

hello geeks!
5

hello geeks!
8
hello geeks!
7

 

hello geeks!
8

hello geeks!
9

đầu ra

hello geeks!

Phương pháp 2. sử dụng sys. con đường. chèn[]

Như chúng ta đã thảo luận, hệ thống. đường dẫn chứa danh sách tất cả các thư mục sẽ được tìm kiếm cho mô-đun. Cách tốt hơn là chèn thư mục của mô-đun ở vị trí 1 để nó được tải với mức độ ưu tiên cao hơn, điều này sẽ giúp tránh một số xung đột tên. Mã của chính. py cho phương pháp này sẽ là

con trăn




hello geeks!
7

hello geeks!
8
hello geeks!
42

 

hello geeks!
43

hello geeks!
44

hello geeks!
45
hello geeks!
46
hello geeks!
47
hello geeks!
3
hello geeks!
4

 

hello geeks!
0

hello geeks!
8
hello geeks!
7

 

hello geeks!
3

hello geeks!
9

đầu ra

hello geeks!

Phương pháp 3. Sử dụng __init__. py

Chúng tôi cũng có thể nhập mô-đun bằng cách chuyển đổi thư mục nơi nó tồn tại trước tiên dưới dạng gói python. Để chuyển đổi thư mục thành gói python, chúng tôi phải bao gồm tệp __init__. py trong thư mục đó có thể để trống. Khi chúng tôi thêm tệp __init__. py chúng tôi nói với python rằng thư mục là một gói. Sau khi tạo __init__. py cây thư mục sẽ trông như thế này

hello geeks!
4

Cách chúng tôi gọi mô-đun trong câu lệnh nhập là chúng tôi chuyển từ thư mục ứng dụng sang tệp mod và phân tách từng biến đường dẫn bằng dấu ‘. ’. Bây giờ để nhập mod. py trong chính. py từ phương thức này, mã trong chính. py sẽ là

con trăn




hello geeks!
5

hello geeks!
8
hello geeks!
7

 

hello geeks!
8

hello geeks!
9

đầu ra

hello geeks!

Phương pháp 4. Sử dụng thư viện nhập khẩu

Chúng tôi cũng có thể nhập mô-đun từ thư mục bên ngoài bằng thư viện nhập. Đối với điều này, trước tiên chúng ta sẽ phải nhập importlib. mô-đun sử dụng. Sau đó gọi importlib. sử dụng. Phương thức spec_from_file_location[] nhận 2 đối số file_name và file_path, trả về một giá trị. Giá trị này sẽ được sử dụng với importlib. sử dụng. module_from_spec[] để nhập một mô-đun có tên cụ thể. Sau đó, chúng ta có thể sử dụng tên cụ thể này để gọi các hàm, lớp, biến của mô-đun

Chủ Đề