Làm cách nào để nhập chức năng từ một tệp Python khác trong cùng thư mục?
Đôi khi, một dự án mới yêu cầu mã hiện có. Làm việc thông minh hơn (chứ không phải chăm chỉ hơn) có nghĩa là tận dụng công việc hiện có. Hiện tại, sao chép và dán từ tập lệnh này sang tập lệnh khác có vẻ là một giải pháp nhanh chóng và vô hại. Tuy nhiên, việc xác định hàm trong một tệp và nhập nó sẽ đơn giản hóa quy trình và loại bỏ các lỗi tiềm ẩn Không phải tất cả các chức năng đều cần một tệp script riêng. Tuy nhiên, nếu bạn dự kiến sử dụng lại chức năng này cho nhiều dự án, hãy lưu riêng chức năng này Lợi ích của việc lưu trữ các chức năng trong các tập lệnh bên ngoài
Để rõ ràng, đây là một số thuật ngữ được sử dụng thường xuyên khi mô tả các câu lệnh from script_in_cwd.py import specific_function 4
directory Nhập chức năng cụ thể từ tập lệnh trong thư mụcĐể nhập một chức năng từ tập lệnh trong thư mục làm việc hiện tại, hãy thêm phần sau from script_in_cwd.py import specific_function Để đặt tên khác cho from script_in_cwd.py import specific_function 5, hãy thêm from script_in_cwd.py import specific_function 6 vào câu lệnh from script_in_cwd.py import specific_function 4from script_in_cwd.py import specific_function as new_name Một tập lệnh không thể xử lý hai chức năng có cùng tên. Sử dụng from script_in_cwd.py import specific_function 6 để tránh lỗi nhậpNhập tất cả các chức năng và mô-đun từ tập lệnhĐể nhập tất cả các chức năng trong tập lệnh, hãy sử dụng from script_in_cwd.py import specific_function 9from script_in_cwd.py import * Điều này nhập tất cả các hàm được xác định trong from script_in_cwd.py import specific_function as new_name 0. Nếu from script_in_cwd.py import specific_function as new_name 0 có câu lệnh from script_in_cwd.py import specific_function 4, thì from script_in_cwd.py import specific_function 9 cũng sẽ nhập các thư viện, mô-đun và chức năng đó. Chẳng hạn, nếu from script_in_cwd.py import specific_function as new_name 0 có from script_in_cwd.py import specific_function as new_name 5, thì câu lệnh trên cũng sẽ nhập vào from script_in_cwd.py import specific_function as new_name 6. Tên của các đối tượng đã nhập sẽ bị ràng buộc trong không gian tên cục bộ, có nghĩa là tập lệnh sẽ nhận ra các tên đó một cách độc lập. Nói cách khác, các đối tượng đã nhập có thể được gọi mà không cần tham chiếu đến tên của mô-đun gốc (from script_in_cwd.py import specific_function as new_name 7)Một cách khác để nhập tất cả các chức năng là import script_in_cwd.py Giống như trước đây, phương thức này nhập tất cả các hàm đã xác định và bất kỳ thứ gì được gọi bằng câu lệnh from script_in_cwd.py import specific_function 4. Tên mô-đun (from script_in_cwd.py import specific_function as new_name 7) sẽ bị ràng buộc cục bộ, nhưng tên của các đối tượng được nhập khác sẽ không. Các đối tượng đó phải được gọi theo tên của mô-đun cha. Ví dụ# To call function after importscript_in_cwd.specific_function() Nếu hai đối tượng được nhập sử dụng cùng tên, hãy sử dụng phương thức from script_in_cwd.py import * 0 thay vì from script_in_cwd.py import * 1 vì Python không thể nhập hai đối tượng có cùng tên. Tuy nhiên, với from script_in_cwd.py import * 0 , tên của các đối tượng đó được liên kết với tên của mô-đun cha duy nhất của chúngNhập từ Tập lệnh trong Thư mục conĐể nhập từ một thư mục con from subdirectory.submodule import * Giống như trước đây, tên của các đối tượng đã nhập được liên kết với không gian tên cục bộ một lựa chọn khác là import subdirectory.submodule Một lần nữa, các tên đối tượng đã nhập sẽ không bị ràng buộc cục bộ, nhưng from script_in_cwd.py import * 3 sẽ là. Để gọi các đối tượng đã nhập, trước tiên hãy tham khảo tên của mô-đun chính (from script_in_cwd.py import * 3)Nhập từ bên ngoài thư mục làm việc hiện tại yêu cầu from script_in_cwd.py import * 5, đây là danh sách tất cả các thư mục mà Python tìm kiếm thông qua. Để thêm một đường dẫn tìm kiếm mớiimport sys Thao tác này nối thêm đường dẫn mới vào cuối from script_in_cwd.py import * 5. Python tìm kiếm thông qua các đường dẫn này theo thứ tự. Sử dụng from script_in_cwd.py import * 7 để buộc Python tìm kiếm đường dẫn sớm hơn. Ví dụimport sys Những bổ sung này không chỉ áp dụng cho tập lệnh hiện tại. Python cũng sẽ tìm kiếm các đường dẫn này cho các dự án trong tương lai trừ khi chúng bị xóa. Để xóa các đường dẫn tìm kiếm không mong muốn from script_in_cwd.py import specific_function 0Kết luậnCảm ơn bạn đã đọc bài viết của tôi. Nếu bạn thích nội dung của tôi, hãy cân nhắc theo dõi tôi. Ngoài ra, tất cả thông tin phản hồi đều được chào đón. Tôi luôn háo hức học hỏi những cách làm việc mới hoặc tốt hơn. Vui lòng để lại nhận xét hoặc liên hệ với tôi tại katyhagerty19@gmail. com |