Tôi có một thư mục lưu trữ tất cả các tệp .py..py files.
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
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
bin/
main.py
classes/
user.py
dir.py
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
bin/
main.py
classes/
user.py
dir.py
3 if
user.py is in a sub directory?bin/
dir.py
main.py
usr/
user.py
Kenorb
Phù bằng vàng 146K7676 gold badges658 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.5K53 Huy hiệu vàng141 Huy hiệu bạc182 Huy hiệu Đồng53 gold badges141 silver badges182 bronze badges
2
Python 2
Tạo một tệp trống có tên
bin/
main.py
classes/
user.py
dir.py
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 ...
from user import User
from dir import Dir
Đ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
bin/
main.py
classes/
user.py
dir.py
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.bin/
main.py
classes/
user.py
dir.py
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:
from classes.user import User
from classes.dir import Dir
Python 3
Tương tự như trước, nhưng tiền tố tên mô -đun với
bin/
main.py
classes/
user.py
dir.py
6 nếu không sử dụng thư mục con:from .user import User
from .dir import Dir
Đã 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:
from .user import User
from .dir import Dir
Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07Feb 8, 2015 at 10:07
ECPECPecp
2.0811 Huy hiệu vàng11 Huy hiệu bạc8 Huy hiệu đồng1 gold badge11 silver badges8 bronze badges
8
Từ Python3.3 trở lên,
bin/
main.py
classes/
user.py
dir.py
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ớiimport user
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
bin/
main.py
classes/
user.py
dir.py
8. Trong trường hợp đó, sử dụngIn that case, use
from . import user
Đ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.0163 Huy hiệu vàng37 Huy hiệu bạc63 Huy hiệu Đồng3 gold badges37 silver badges63 bronze badges
5
Trong
bin/
main.py
classes/
user.py
dir.py
9 của bạn:from user import Class
trong đó
from classes.user import User
from classes.dir import Dir
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
from classes.user import User
from classes.dir import Dir
0, bạn có thể gọi nó bằng cách sử dụng:from classes.user import User
from classes.dir import Dir
2Lưu ý rằng cần có một tệp
bin/
main.py
classes/
user.py
dir.py
4 trống trong cùng một thư mục.
Thatmsg
1.4061 Huy hiệu vàng16 Huy hiệu bạc26 Huy hiệu đồng1 gold badge16 silver badges26 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ì
from .user import User
from .dir import Dir
không hoạt động. Sau đó bạn nên nhập dưới dạng
bin/
dir.py
main.py
usr/
user.py
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
bin/
dir.py
main.py
usr/
user.py
2Hoặc bạn có thể nhập các chức năng và lớp vào mã của mình
bin/
dir.py
main.py
usr/
user.py
3Bạn có thể sử dụng Wildchar * để nhập mọi thứ trong mô -đun đó vào mã của bạn
bin/
dir.py
main.py
usr/
user.py
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
bin/
dir.py
main.py
usr/
user.py
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ã
bin/
dir.py
main.py
usr/
user.py
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ã
bin/
dir.py
main.py
usr/
user.py
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
bin/
dir.py
main.py
usr/
user.py
8Bước 5: Chạy chương trình
bin/
dir.py
main.py
usr/
user.py
9Đầu ra sẽ là
from user import User
from dir import Dir
0
Hassan
84013 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
bin/
main.py
classes/
user.py
dir.py
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:
from user import User
from dir import Dir
1Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07
ECPECP
2.0811 Huy hiệu vàng11 Huy hiệu bạc8 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:
from user import User
from dir import Dir
2Đã trả lời ngày 8 tháng 2 năm 2015 lúc 10:07Nov 15, 2018 at 9:05
from user import User
from dir import Dir
3ECPECPNov 10, 2010 at 7:35
2.0811 Huy hiệu vàng11 Huy hiệu bạc8 Huy hiệu đồngceth
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ới61 gold badges173 silver badges282 bronze badgesbin/
main.py
classes/
user.py
dir.py
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
bin/
main.py
classes/
user.py
dir.py
8. Trong trường hợp đó, sử dụngfrom user import User
from dir import Dir
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ừ đó.
1from .user import User
from .dir import Dir
Đã trả lời ngày 16 tháng 7 năm 2019 lúc 13:40
Lucidbrotlucidbrot5.0163 Huy hiệu vàng37 Huy hiệu bạc63 Huy hiệu Đồng
Trong
bin/
main.py
classes/
user.py
dir.py
9 của bạn:Jun 25, 2021 at 7:56
trong đó
from classes.user import User
from classes.dir import Dir
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
0, bạn có thể gọi nó bằng cách sử dụng:2 gold badges11 silver badges30 bronze badgesfrom classes.user import User
from classes.dir import Dir
Lưu ý rằng cần có một tệp
bin/
main.py
classes/
user.py
dir.py
4 trống trong cùng một thư mục.Thatmsg
1.4061 Huy hiệu vàng16 Huy hiệu bạc26 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 badges9 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
import from nephew:
from .user import User
from .dir import Dir
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
from user import User
from dir import Dir
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
from user import User
from dir import Dir
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
from user import User
from dir import Dir
8và
from user import User
from dir import Dir
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
bin/
main.py
classes/
user.py
dir.py
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]bin/
main.py
classes/
user.py
dir.py
0Chỉ nhập các lớp đã chọn
bin/
main.py
classes/
user.py
dir.py
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
bin/
main.py
classes/
user.py
dir.py
2Để nhập từ thư mục phụ, thư mục phải chứa
init.py.py
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