Hướng dẫn import from parent folder python - nhập từ thư mục mẹ python
Tôi cũng đã đăng một câu trả lời tương tự cho câu hỏi liên quan đến nhập khẩu từ các gói anh chị em. Bạn có thể thấy nó ở đây. Show
Giải pháp mà không có sys.path hackBản tóm tắt
Thành lậpTôi giả sử cấu trúc thư mục giống như trong câu hỏi
Tôi gọi 4 là thư mục gốc và trong trường hợp của tôi, nó được đặt trong 5.Các bước
Về cơ bản "bất kỳ" 1 sẽ hoạt động. Đây chỉ là một ví dụ làm việc tối thiểu.
Nếu bạn quen thuộc với môi trường ảo, hãy kích hoạt một và bỏ qua bước tiếp theo. Việc sử dụng môi trường ảo không phải là hoàn toàn cần thiết, nhưng chúng thực sự sẽ giúp bạn về lâu dài (khi bạn có nhiều hơn 1 dự án đang diễn ra ..). Các bước cơ bản nhất là (chạy trong thư mục gốc)
Để tìm hiểu thêm về điều này, chỉ cần Google ra "hướng dẫn Virtualenv" hoặc tương tự của Google. Bạn có thể không bao giờ cần bất kỳ lệnh nào khác ngoài việc tạo, kích hoạt và hủy kích hoạt. Khi bạn đã tạo và kích hoạt một môi trường ảo, bảng điều khiển của bạn sẽ cho biết tên của môi trường ảo trong ngoặc đơn
Cài đặt gói cấp cao nhất của bạn 3 bằng 4. Bí quyết là sử dụng cờ 5 khi thực hiện cài đặt. Bằng cách này, nó được cài đặt ở trạng thái có thể chỉnh sửa và tất cả các chỉnh sửa được thực hiện cho các tệp .py sẽ được tự động bao gồm trong gói đã cài đặt.Trong thư mục gốc, chạy 6 (lưu ý dấu chấm, nó là viết tắt của "thư mục hiện tại")Bạn cũng có thể thấy rằng nó được cài đặt bằng cách sử dụng 7
Trong ví dụ này, 8 sẽ là 0. Điều này có lợi thế là bạn sẽ không gặp phải các vụ va chạm tên với các tên mô -đun khác (từ Thư viện tiêu chuẩn Python hoặc Mô -đun bên thứ 3).Ví dụ sử dụngnib.py
life.py
Chạy cuộc sống.py Không thể nhập tệp từ một thư mục python khác? Cách pythonic nhất để nhập một mô -đun từ một thư mục khác là đặt một tệp trống có tên __init__.py vào thư mục đó và sử dụng đường dẫn tương đối với ký hiệu dấu chấm. Ví dụ: một mô -đun trong thư mục chính sẽ được nhập từ .. Nhập mô -đun. __ init __ py làm gì trong python? Python3Các tệp __init__.py được yêu cầu để làm cho các thư mục xử lý Python chứa tệp dưới dạng các gói. Điều này ngăn các thư mục có tên chung, chẳng hạn như chuỗi, vô tình ẩn các mô -đun hợp lệ xảy ra sau đó trên đường dẫn tìm kiếm mô -đun. 3 4 5 6 7Làm cách nào để nhập mô -đun từ thư mục trước? Python3Để nhập một mô -đun bằng cách sử dụng câu lệnh nhập, trước tiên chúng tôi sẽ phải khai báo thư mục một gói bằng cách thêm tệp __init__.py vào thư mục cha. Khi thư mục cha được khai báo một gói, chúng tôi có thể nhập mô -đun bằng cách tiếp cận gói tương đối. 2Làm thế nào để tôi tham khảo một thư mục phụ huynh trong Python?
Temp.py (tệp Python trong thư mục con) 8 9 0 1Như chúng ta đã thảo luận trước đó, không thể nhập một mô -đun từ thư mục cha, vì vậy điều này dẫn đến một lỗi như thế này.Traceback (cuộc gọi gần đây nhất cuối cùng): & nbsp; Tệp C:append() method. It is a built-in function of the sys module that can be used with a path variable to add a specific path for interpreters to search. The following example shows how this can be done. Python3 0 4 5 6 7 8 9 0 1 2Output: This method in geeks module.......bye Phương pháp 2: Nhập từ thư mục cha bằng phương thức Os.Path.Abpath () os.path.abspath() methodỞ đây chúng tôi sẽ sử dụng mô -đun SYS cũng như mô -đun đường dẫn để lấy thư mục và đặt đường dẫn trực tiếp đến mô -đun cần thiết.
Đầu tiên chúng tôi sẽ nhận được tên của thư mục trong đó tệp temp.py hiện đang sử dụng path.Path (__ tệp __). Python3 0 4 0 4 7 8 9 0 8 9 0 1 2Output: This method in geeks module.......bye Phương pháp 2: Nhập từ thư mục cha bằng phương thức Os.Path.Abpath ()os.path.dirname methodỞ đây chúng tôi sẽ sử dụng mô -đun SYS cũng như mô -đun đường dẫn để lấy thư mục và đặt đường dẫn trực tiếp đến mô -đun cần thiết.
Đầu tiên chúng tôi sẽ nhận được tên của thư mục trong đó tệp temp.py hiện đang sử dụng path.Path (__ tệp __). Python3 0 4 0 4 7 8 9Phương pháp 3: Nhập từ thư mục cha bằng phương thức OS.Path.Dirname This method in geeks module.......bye6 Ở đây chúng tôi sẽ sử dụng mô -đun SYS cũng như mô -đun HĐH để lấy thư mục (dòng điện cũng như cha mẹ) và đặt đường dẫn trực tiếp đến mô -đun cần thiết. 2Output: Không thể nhập tệp từ một thư mục python khác?Cách pythonic nhất để nhập một mô -đun từ một thư mục khác là đặt một tệp trống có tên __init__.py vào thư mục đó và sử dụng đường dẫn tương đối với ký hiệu dấu chấm. Ví dụ: một mô -đun trong thư mục chính sẽ được nhập từ .. Nhập mô -đun.place an empty file named __init__.py into that folder and use the relative path with the dot notation. For example, a module in the parent folder would be imported with from .. import module .
__ init __ py làm gì trong python?Các tệp __init__.py được yêu cầu để làm cho các thư mục xử lý Python chứa tệp dưới dạng các gói. Điều này ngăn các thư mục có tên chung, chẳng hạn như chuỗi, vô tình ẩn các mô -đun hợp lệ xảy ra sau đó trên đường dẫn tìm kiếm mô -đun.make Python treat directories containing the file as packages. This prevents directories with a common name, such as string , unintentionally hiding valid modules that occur later on the module search path.
Làm cách nào để nhập mô -đun từ thư mục trước?Để nhập một mô -đun bằng cách sử dụng câu lệnh nhập, trước tiên chúng tôi sẽ phải khai báo thư mục một gói bằng cách thêm tệp __init__.py vào thư mục cha.Khi thư mục cha được khai báo một gói, chúng tôi có thể nhập mô -đun bằng cách tiếp cận gói tương đối.declare the directory a package by adding the __init__.py file in the parent directory. Once the parent directory is declared a package, we can import the module using the relative package approach.
Làm thế nào để tôi tham khảo một thư mục phụ huynh trong Python?Sử dụng hệ điều hành.hệ điều hành.đường dẫn.abspath () có thể được sử dụng để có được thư mục cha.Phương pháp này được sử dụng để có được phiên bản chuẩn hóa của đường dẫn.os. path. abspath() can be used to get the parent directory. This method is used to get the normalized version of the path. |