Hướng dẫn python can t import class from file - python không thể nhập lớp từ tệp
Tôi có một thư mục lưu trữ tất cả các tệp .py..py files.
Tôi muốn sử dụng các lớp từ user.py và dir.py trong main.py. Làm thế nào tôi có thể nhập các lớp python này vào main.py? Hơn nữa, làm thế nào tôi có thể nhập lớp 3 nếu user.py nằm trong thư mục phụ?user.py and dir.py in main.py.How can I import these Python classes into main.py? Furthermore, how can I import class 3 if
user.py is in a sub directory?
Kenorb Phù bằng vàng 146K7777 gold badges659 silver badges715 bronze badges Đã hỏi ngày 10 tháng 11 năm 2010 lúc 7:32Nov 10, 2010 at 7:32
Bin Chenbin ChenBin Chen 59.6K53 Huy hiệu vàng141 Huy hiệu bạc182 Huy hiệu đồng53 gold badges141 silver badges182 bronze badges 2 Python 2Tạo một tệp trống có tên 4 trong cùng thư mục với các tệp. Điều đó sẽ biểu thị cho Python rằng "OK để nhập từ thư mục này".Sau đó, chỉ cần làm ...
Điều tương tự cũng đúng nếu các tệp trong một thư mục con - cũng đặt một 4 vào thư mục con, sau đó sử dụng các câu lệnh nhập thường xuyên, với ký hiệu DOT. Đối với mỗi cấp độ của thư mục, bạn cần thêm vào đường dẫn nhập.
Vì vậy, nếu thư mục được đặt tên là "lớp", thì bạn sẽ làm điều này:
Python 3Tương tự như trước, nhưng tiền tố tên mô -đun với 6 nếu không sử dụng thư mục con:
Đã trả lời ngày 10 tháng 11 năm 2010 lúc 7:36Nov 10, 2010 at 7:36
19 Tôi vừa học (nhờ nhận xét của Martineau) rằng, để nhập các lớp từ các tệp trong cùng một thư mục, giờ đây bạn sẽ viết trong Python 3:
Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07Feb 8, 2015 at 10:07
ECPECPecp 2.0911 Huy hiệu vàng11 Huy hiệu bạc10 Huy hiệu đồng1 gold badge11 silver badges10 bronze badges 8 Từ Python3.3 trở lên, 4 không còn cần thiết. Nếu thư mục hiện tại của bảng điều khiển là thư mục có tập lệnh Python, mọi thứ đều hoạt động tốt với
Tuy nhiên, điều này sẽ không hoạt động nếu được gọi từ một thư mục khác, không chứa 8. Trong trường hợp đó, sử dụngIn that case, use
Điều này hoạt động ngay cả khi bạn muốn nhập toàn bộ tệp thay vì chỉ một lớp từ đó. Đã trả lời ngày 16 tháng 7 năm 2019 lúc 13:40Jul 16, 2019 at 13:40
Lucidbrotlucidbrotlucidbrot 5.0453 Huy hiệu vàng37 Huy hiệu bạc63 Huy hiệu Đồng3 gold badges37 silver badges63 bronze badges 5 Trong 9 của bạn:
trong đó 0 là tên của lớp bạn muốn nhập.Nếu bạn muốn gọi một phương thức của 0, bạn có thể gọi nó bằng cách sử dụng: 2Lưu ý rằng cần có một tệp 4 trống trong cùng một thư mục.
Thatmsg 1.4061 Huy hiệu vàng17 Huy hiệu bạc27 Huy hiệu đồng1 gold badge17 silver badges27 bronze badges Đã trả lời ngày 10 tháng 11 năm 2010 lúc 7:38Nov 10, 2010 at 7:38
user225312user225312user225312 122K66 Huy hiệu vàng167 Huy hiệu bạc181 Huy hiệu Đồng66 gold badges167 silver badges181 bronze badges 2 Nếu user.py và dir.py không bao gồm các lớp thì
không hoạt động. Sau đó bạn nên nhập dưới dạng 1Đã trả lời ngày 16 tháng 9 năm 2019 lúc 15:51Sep 16, 2019 at 15:51
2
Bạn có thể nhập mô -đun và có quyền truy cập thông qua tên của nó nếu bạn không muốn trộn các chức năng và các lớp với của bạn 2Hoặc bạn có thể nhập các chức năng và lớp vào mã của mình 3Bạn có thể sử dụng Wildchar * để nhập mọi thứ trong mô -đun đó vào mã của bạn 4
Joe 5795 Huy hiệu bạc11 Huy hiệu đồng5 silver badges11 bronze badges Đã trả lời ngày 21 tháng 7 năm 2014 lúc 11:54Jul 21, 2014 at 11:54
A.ZabenA.ZabenA.Zaben 6756 Huy hiệu bạc9 Huy hiệu Đồng6 silver badges9 bronze badges 1 Để làm cho nó đơn giản hơn để hiểu: Bước 1: Hãy đi đến một thư mục, trong đó tất cả sẽ được bao gồm 5Bước 2: Bây giờ hãy tạo tệp class1.py có tên lớp class1 với một số mã 6Bước 3: Bây giờ hãy tạo tệp Class2.py có tên lớp Class2 với một số mã 7Bước 4: Bây giờ hãy tạo một Main.py sẽ được thực thi một lần để sử dụng Class1 và Class2 từ 2 tệp khác nhau 8Bước 5: Chạy chương trình 9Đầu ra sẽ là 0
Hassan 85013 Huy hiệu bạc25 Huy hiệu Đồng13 silver badges25 bronze badges Đã trả lời ngày 21 tháng 9 năm 2013 lúc 19:17Sep 21, 2013 at 19:17 1 Python 3 Tương tự như trước, nhưng tiền tố tên mô -đun với 6 nếu không sử dụng thư mục con:Đã trả lời ngày 10 tháng 11 năm 2010 lúc 7:36 Tôi vừa học (nhờ nhận xét của Martineau) rằng, để nhập các lớp từ các tệp trong cùng một thư mục, giờ đây bạn sẽ viết trong Python 3: 1Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07 ECPECP 2.0911 Huy hiệu vàng11 Huy hiệu bạc10 Huy hiệu đồng Tôi vừa học (nhờ nhận xét của Martineau) rằng, để nhập các lớp từ các tệp trong cùng một thư mục, giờ đây bạn sẽ viết trong Python 3: 2Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07Nov 15, 2018 at 9:05
3ECPECPNov 10, 2010 at 7:35
2.0911 Huy hiệu vàng11 Huy hiệu bạc10 Huy hiệu đồngceth Từ Python3.3 trở lên, 2 Tuy nhiên, điều này sẽ không hoạt động nếu được gọi từ một thư mục khác, không chứa 8. Trong trường hợp đó, sử dụng 4Điều này hoạt động ngay cả khi bạn muốn nhập toàn bộ tệp thay vì chỉ một lớp từ đó. Đã trả lời ngày 16 tháng 7 năm 2019 lúc 13:40 Lucidbrotlucidbrot5.0453 Huy hiệu vàng37 Huy hiệu bạc63 Huy hiệu Đồng Trong 9 của bạn:Jun 25, 2021 at 7:56
trong đó 0 là tên của lớp bạn muốn nhập.minglyuNếu bạn muốn gọi một phương thức của Lưu ý rằng cần có một tệp 4 trống trong cùng một thư mục.Thatmsg 1.4061 Huy hiệu vàng17 Huy hiệu bạc27 Huy hiệu đồngFeb 27, 2020 at 20:56
Đã trả lời ngày 10 tháng 11 năm 2010 lúc 7:38stingMantis 122K66 Huy hiệu vàng167 Huy hiệu bạc181 Huy hiệu Đồng2 silver badges10 bronze badges 1 Nếu user.py và dir.py không bao gồm các lớp thì không hoạt động. Sau đó bạn nên nhập dưới dạng 6Đã trả lời ngày 16 tháng 9 năm 2019 lúc 15:51Nov 24, 2020 at 9:36
Bạn có thể nhập mô -đun và có quyền truy cập thông qua tên của nó nếu bạn không muốn trộn các chức năng và các lớp với của bạnIceberg Hoặc bạn có thể nhập các chức năng và lớp vào mã của mình16 silver badges19 bronze badges Bạn có thể sử dụng Wildchar * để nhập mọi thứ trong mô -đun đó vào mã của bạn 6Joe Đã trả lời ngày 21 tháng 12 năm 2020 lúc 5:22Dec 21, 2020 at 5:22
Kobakokobakokobako 5964 Huy hiệu bạc10 Huy hiệu Đồng4 silver badges10 bronze badges 7Đã trả lời ngày 7 tháng 6 năm 2021 lúc 17:32Jun 7, 2021 at 17:32
1 Python3 sử dụng 8và 9như vậy Đã trả lời ngày 5 tháng 12 năm 2019 lúc 19:22Dec 5, 2019 at 19:22
Icharisicharisicharis Huy hiệu Bạc 1911 Huy hiệu đồng1 silver badge3 bronze badges 1 Quá ngắn gọn, tạo một tệp 4 là thư mục lớp và sau đó nhập nó vào tập lệnh của bạn như sau (nhập mọi trường hợp) 0Chỉ nhập các lớp đã chọn 1Đã trả lời ngày 26 tháng 1 năm 2017 lúc 4:00Jan 26, 2017 at 4:00
1
nhập từ cùng một thư mục 2Để nhập từ thư mục phụ, thư mục phải chứa
Tệp khác với các tệp của bạn sau đó Từ thư mục nhập của bạn_file Đã trả lời ngày 24 tháng 8 năm 2019 lúc 6:06Aug 24, 2019 at 6:06
1 Tại sao tôi không thể nhập vào Python?Lỗi này thường xảy ra khi một lớp không thể được nhập do một trong những lý do sau: Lớp nhập khẩu nằm trong một phụ thuộc tròn.Lớp nhập khẩu không có sẵn hoặc không được tạo.Tên lớp nhập khẩu là sai chính tả.The imported class is in a circular dependency. The imported class is unavailable or was not created. The imported class name is misspelled.
__ init __ py là gì?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.required to 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.
__ init __ py nên chứa gì?Tệp __init__.py có thể chứa cùng một mã python mà bất kỳ mô -đun nào khác có thể chứa và Python sẽ thêm một số thuộc tính bổ sung vào mô -đun khi được nhập.the same Python code that any other module can contain, and Python will add some additional attributes to the module when it is imported. |