Có nhiều cách khác nhau để tạo thư mục lồng nhau tùy thuộc vào phiên bản python bạn đang sử dụng. Đối với ví dụ này, chúng tôi sẽ tạo các thư mục như trong hình bên dưới
ví dụ 1. Sử dụng đường dẫn. Đường dẫn. mkdir
Đối với trăn 3. 5 trở lên, bạn có thể sử dụng
import os
os.makedirs["/root/dirA/dirB"]
14 để tạo thư mục lồng nhaufrom pathlib import Path
Path["/root/dirA/dirB"].mkdir[parents=True, exist_ok=True]
- Nhập lớp
15 từ thư việnimport os os.makedirs["/root/dirA/dirB"]
16import os os.makedirs["/root/dirA/dirB"]
- Gọi mô-đun
17 với hai đối số parent vàimport os os.makedirs["/root/dirA/dirB"]
18import os os.makedirs["/root/dirA/dirB"]
- Theo mặc định,
19 được đặt làimport os os.makedirs["/root/dirA/dirB"]
0. Trong trường hợp này, nếu thư mục mẹ không có, thìimport os os.makedirs["/root/dirA/dirB"]
1 sẽ bị ném. Ví dụ: nếu bạn muốn tạo một thư mục lồng nhauimport os os.makedirs["/root/dirA/dirB"]
2 vàimport os os.makedirs["/root/dirA/dirB"]
3 [cha mẹ] chưa tồn tại, thìimport os os.makedirs["/root/dirA/dirB"]
1 được tăng theo mặc định. Vì vậy, chúng tôi đặt nó thànhimport os os.makedirs["/root/dirA/dirB"]
5import os os.makedirs["/root/dirA/dirB"]
18 làimport os os.makedirs["/root/dirA/dirB"]
0 theo mặc định. Nếu thư mục đã tồn tại,import os os.makedirs["/root/dirA/dirB"]
8 được nâng lên. Đặt nó thànhimport os os.makedirs["/root/dirA/dirB"]
5 để tránh lỗi nàyimport os os.makedirs["/root/dirA/dirB"]
Ghi chú. Bạn nên cung cấp đường dẫn đầy đủ [đường dẫn tuyệt đối] của thư mục [không phải đường dẫn tương đối]. Nếu thư mục đã tồn tại, đoạn mã trên không đưa ra một ngoại lệ
nếu tôi tạo một liên kết mềm trong
import os
os.makedirs["/root/dirA/dirB"]
21 bằng lệnh. import os
os.makedirs["/root/dirA/dirB"]
22, rồi chạy lệnh. import os
os.makedirs["/root/dirA/dirB"]
23, tôi vẫn gặp lỗi tương tựTôi không muốn mv SC1. py thành
import os
os.makedirs["/root/dirA/dirB"]
21, làm thế nào tôi có thể chạy nó trong Linux? Nếu bạn muốn thao tác với đường dẫn Windows trên máy Unix [hoặc ngược lại]. Bạn không thể khởi tạo một
import os
os.makedirs["/root/dirA/dirB"]
07 khi chạy trên Unix, nhưng bạn có thể khởi tạo một import os
os.makedirs["/root/dirA/dirB"]
08Bạn muốn đảm bảo rằng mã của bạn chỉ thao tác với các đường dẫn mà không thực sự truy cập vào hệ điều hành. Trong trường hợp này, việc khởi tạo một trong các lớp thuần túy có thể hữu ích vì đơn giản là chúng không có bất kỳ thao tác truy cập hệ điều hành nào
Xem thêm
PEP 428. Mô-đun pathlib – đường dẫn hệ thống tệp hướng đối tượng
Xem thêm
Đối với thao tác đường dẫn cấp thấp trên chuỗi, bạn cũng có thể sử dụng mô-đun
import os
os.makedirs["/root/dirA/dirB"]
09Sử dụng cơ bản¶
Nhập lớp chính
import os
os.makedirs["/root/dirA/dirB"]
3Liệt kê các thư mục con
import os
os.makedirs["/root/dirA/dirB"]
4Liệt kê các tệp nguồn Python trong cây thư mục này
import os
os.makedirs["/root/dirA/dirB"]
5Điều hướng bên trong cây thư mục
import os
os.makedirs["/root/dirA/dirB"]
6Truy vấn thuộc tính đường dẫn
import os
os.makedirs["/root/dirA/dirB"]
7Mở một tập tin
import os
os.makedirs["/root/dirA/dirB"]
8Con đường thuần túy¶
Các đối tượng đường dẫn thuần túy cung cấp các hoạt động xử lý đường dẫn không thực sự truy cập hệ thống tệp. Có ba cách để truy cập các lớp này, mà chúng tôi còn gọi là hương vị
lớp pathlib. PurePath[*phân đoạn đường dẫn]¶Một lớp chung đại diện cho hương vị đường dẫn của hệ thống [khởi tạo nó tạo ra một
import os
os.makedirs["/root/dirA/dirB"]
90 hoặc một import os
os.makedirs["/root/dirA/dirB"]
08]import os
os.makedirs["/root/dirA/dirB"]
1Mỗi phần tử của phân đoạn đường dẫn có thể là một chuỗi đại diện cho một phân đoạn đường dẫn, một đối tượng triển khai giao diện
import os
os.makedirs["/root/dirA/dirB"]
92 trả về một chuỗi hoặc một đối tượng đường dẫn khácimport os
os.makedirs["/root/dirA/dirB"]
0Khi đường dẫn trống, thư mục hiện tại được giả định
import os
os.makedirs["/root/dirA/dirB"]
9Khi một số đường dẫn tuyệt đối được đưa ra, đường dẫn cuối cùng được coi là điểm neo [bắt chước hành vi của
import os
os.makedirs["/root/dirA/dirB"]
93]import os
os.makedirs["/root/dirA/dirB"]
6Tuy nhiên, trong đường dẫn Windows, việc thay đổi gốc cục bộ không loại bỏ cài đặt ổ đĩa trước đó
import os
os.makedirs["/root/dirA/dirB"]
40Dấu gạch chéo giả và dấu chấm đơn bị thu gọn, nhưng dấu chấm đôi [
import os
os.makedirs["/root/dirA/dirB"]
94] và dấu gạch chéo kép ở đầu [import os
os.makedirs["/root/dirA/dirB"]
95] thì không, vì điều này sẽ thay đổi ý nghĩa của đường dẫn vì nhiều lý do [e. g. liên kết tượng trưng, đường dẫn UNC]import os
os.makedirs["/root/dirA/dirB"]
41[một cách tiếp cận ngây thơ sẽ làm cho
import os
os.makedirs["/root/dirA/dirB"]
96 tương đương với import os
os.makedirs["/root/dirA/dirB"]
97, điều này là sai nếu import os
os.makedirs["/root/dirA/dirB"]
98 là một liên kết tượng trưng đến một thư mục khác]Các đối tượng đường dẫn thuần túy triển khai giao diện
import os
os.makedirs["/root/dirA/dirB"]
92, cho phép chúng được sử dụng ở bất kỳ đâu mà giao diện được chấp nhậnĐã thay đổi trong phiên bản 3. 6. Đã thêm hỗ trợ cho giao diện
import os
os.makedirs["/root/dirA/dirB"]
92. lớp pathlib. Đường dẫn PurePosix[*phân đoạn đường dẫn]¶Một lớp con của
import os
os.makedirs["/root/dirA/dirB"]
61, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tệp không phải của Windowsimport os
os.makedirs["/root/dirA/dirB"]
42phân đoạn đường dẫn được chỉ định tương tự như
import os
os.makedirs["/root/dirA/dirB"]
61lớp pathlib. PureWindowsPath[*đoạn đường dẫn]¶Một lớp con của
import os
os.makedirs["/root/dirA/dirB"]
61, hương vị đường dẫn này đại diện cho các đường dẫn hệ thống tệp Windows, bao gồm các đường dẫn UNCimport os
os.makedirs["/root/dirA/dirB"]
43phân đoạn đường dẫn được chỉ định tương tự như
import os
os.makedirs["/root/dirA/dirB"]
61Bất kể bạn đang chạy trên hệ thống nào, bạn có thể khởi tạo tất cả các lớp này, vì chúng không cung cấp bất kỳ thao tác nào thực hiện lời gọi hệ thống
Thuộc tính chung¶
Đường dẫn là bất biến và có thể băm. Các đường dẫn có cùng hương vị có thể so sánh và sắp xếp được. Các thuộc tính này tôn trọng ngữ nghĩa trường hợp gấp của hương vị
import os
os.makedirs["/root/dirA/dirB"]
44Đường dẫn của một hương vị khác so sánh không bằng nhau và không thể được sắp xếp
import os
os.makedirs["/root/dirA/dirB"]
45Toán tử¶
Toán tử gạch chéo giúp tạo các đường dẫn con, tương tự như ________ 193
import os
os.makedirs["/root/dirA/dirB"]
46Một đối tượng đường dẫn có thể được sử dụng ở bất cứ nơi nào một đối tượng triển khai
import os
os.makedirs["/root/dirA/dirB"]
92 được chấp nhậnimport os
os.makedirs["/root/dirA/dirB"]
47Biểu diễn chuỗi của một đường dẫn là chính đường dẫn hệ thống tệp thô [ở dạng gốc, e. g. với dấu gạch chéo ngược trong Windows], mà bạn có thể chuyển đến bất kỳ chức năng nào lấy đường dẫn tệp dưới dạng chuỗi
import os
os.makedirs["/root/dirA/dirB"]
48Tương tự, gọi
import os
os.makedirs["/root/dirA/dirB"]
67 trên một đường dẫn sẽ cung cấp đường dẫn hệ thống tệp thô dưới dạng đối tượng byte, như được mã hóa bởi import os
os.makedirs["/root/dirA/dirB"]
68import os
os.makedirs["/root/dirA/dirB"]
49Ghi chú
Gọi
import os
os.makedirs["/root/dirA/dirB"]
67 chỉ được khuyến nghị trong Unix. Trong Windows, dạng unicode là biểu diễn chuẩn của các đường dẫn hệ thống tệpTruy cập các bộ phận riêng lẻ¶
Để truy cập từng “phần” [thành phần] của đường dẫn, hãy sử dụng thuộc tính sau
PurePath. bộ phận ¶Một bộ cung cấp quyền truy cập vào các thành phần khác nhau của đường dẫn
import os
os.makedirs["/root/dirA/dirB"]
50[lưu ý cách ổ đĩa và gốc cục bộ được nhóm lại trong một phần]
Phương thức và thuộc tính¶
Đường dẫn thuần túy cung cấp các phương thức và thuộc tính sau
PurePath. lái xe ¶Một chuỗi đại diện cho ký tự ổ đĩa hoặc tên, nếu có
import os
os.makedirs["/root/dirA/dirB"]
51Cổ phiếu UNC cũng được coi là ổ
import os
os.makedirs["/root/dirA/dirB"]
52PurePath. gốc ¶Một chuỗi đại diện cho gốc [cục bộ hoặc toàn cầu], nếu có
import os
os.makedirs["/root/dirA/dirB"]
53Cổ phiếu UNC luôn có gốc
import os
os.makedirs["/root/dirA/dirB"]
54Nếu đường dẫn bắt đầu với nhiều hơn hai dấu gạch chéo liên tiếp,
import os
os.makedirs["/root/dirA/dirB"]
90 sẽ thu gọn chúngimport os
os.makedirs["/root/dirA/dirB"]
55Ghi chú
Hành vi này tuân theo Thông số kỹ thuật cơ sở nhóm mở Vấn đề 6, đoạn 4. 11 Độ phân giải tên đường dẫn
“Tên đường dẫn bắt đầu bằng hai dấu gạch chéo liên tiếp có thể được diễn giải theo cách do triển khai xác định, mặc dù nhiều hơn hai dấu gạch chéo đầu sẽ được coi là một dấu gạch chéo. ”
PurePath. neo ¶Sự kết hợp của ổ đĩa và gốc
import os
os.makedirs["/root/dirA/dirB"]
56PurePath. cha mẹ ¶Một chuỗi bất biến cung cấp quyền truy cập vào tổ tiên hợp lý của đường dẫn
import os
os.makedirs["/root/dirA/dirB"]
57Đã thay đổi trong phiên bản 3. 10. Trình tự gốc hiện hỗ trợ lát và các giá trị chỉ mục phủ định.
PurePath. cha mẹ ¶Cha mẹ hợp lý của đường dẫn
import os
os.makedirs["/root/dirA/dirB"]
58Bạn không thể đi qua mỏ neo hoặc đường dẫn trống
import os
os.makedirs["/root/dirA/dirB"]
59Ghi chú
Đây là một hoạt động thuần túy từ vựng, do đó hành vi sau đây
import os
os.makedirs["/root/dirA/dirB"]
60Nếu bạn muốn đi theo đường dẫn hệ thống tệp tùy ý trở lên, trước tiên bạn nên gọi
import os
os.makedirs["/root/dirA/dirB"]
401 để giải quyết các liên kết tượng trưng và loại bỏ các thành phần import os
os.makedirs["/root/dirA/dirB"]
402PurePath. tên ¶Một chuỗi đại diện cho thành phần đường dẫn cuối cùng, không bao gồm ổ đĩa và gốc, nếu có
import os
os.makedirs["/root/dirA/dirB"]
61Tên ổ đĩa UNC không được xem xét
import os
os.makedirs["/root/dirA/dirB"]
62PurePath. hậu tố ¶Phần mở rộng tệp của thành phần cuối cùng, nếu có
import os
os.makedirs["/root/dirA/dirB"]
63PurePath. hậu tố ¶Danh sách các phần mở rộng tệp của đường dẫn
import os
os.makedirs["/root/dirA/dirB"]
64PurePath. thân cây ¶Thành phần đường dẫn cuối cùng, không có hậu tố
import os
os.makedirs["/root/dirA/dirB"]
65PurePath. as_posix[] ¶Trả về một chuỗi đại diện của đường dẫn với dấu gạch chéo về phía trước [
import os
os.makedirs["/root/dirA/dirB"]
403]import os
os.makedirs["/root/dirA/dirB"]
66PurePath. as_uri[] ¶Trình bày đường dẫn dưới dạng URI
import os
os.makedirs["/root/dirA/dirB"]
404. import os
os.makedirs["/root/dirA/dirB"]
405 được nâng lên nếu đường dẫn không tuyệt đốiimport os
os.makedirs["/root/dirA/dirB"]
67PurePath. is_absolute[] ¶Trả về đường dẫn có tuyệt đối hay không. Một đường dẫn được coi là tuyệt đối nếu nó có cả gốc và [nếu hương vị cho phép] một ổ đĩa
import os
os.makedirs["/root/dirA/dirB"]
68PurePath. is_relative_to[*khác]¶Trả về đường dẫn này có liên quan đến đường dẫn kia hay không
import os
os.makedirs["/root/dirA/dirB"]
69Mới trong phiên bản 3. 9
PurePath. is_reserve[] ¶Với
import os
os.makedirs["/root/dirA/dirB"]
08, trả về import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn được coi là dành riêng trong Windows, nếu không thì là import os
os.makedirs["/root/dirA/dirB"]
408. Với import os
os.makedirs["/root/dirA/dirB"]
90, import os
os.makedirs["/root/dirA/dirB"]
408 luôn được trả vềimport os
os.makedirs["/root/dirA/dirB"]
70Các cuộc gọi hệ thống tệp trên các đường dẫn dành riêng có thể thất bại một cách bí ẩn hoặc có tác dụng ngoài ý muốn
PurePath. đường dẫn tham gia[*khác]¶Gọi phương thức này tương đương với việc kết hợp lần lượt đường dẫn với từng đối số khác
import os
os.makedirs["/root/dirA/dirB"]
71PurePath. khớp[mẫu] ¶Khớp đường dẫn này với mẫu kiểu toàn cầu được cung cấp. Trả lại
import os
os.makedirs["/root/dirA/dirB"]
407 nếu khớp thành công, ngược lại là import os
os.makedirs["/root/dirA/dirB"]
408Nếu mẫu là tương đối, đường dẫn có thể là tương đối hoặc tuyệt đối và việc khớp được thực hiện từ bên phải
import os
os.makedirs["/root/dirA/dirB"]
72Nếu mẫu là tuyệt đối, đường dẫn phải tuyệt đối và toàn bộ đường dẫn phải khớp
import os
os.makedirs["/root/dirA/dirB"]
73Cũng như các phương pháp khác, phân biệt chữ hoa chữ thường tuân theo các giá trị mặc định của nền tảng
import os
os.makedirs["/root/dirA/dirB"]
74PurePath. tương_đối[*khác]¶Tính toán phiên bản của đường dẫn này so với đường dẫn được đại diện bởi đường dẫn khác. Nếu không thể, ValueError được nâng lên
import os
os.makedirs["/root/dirA/dirB"]
75GHI CHÚ. Hàm này là một phần của
import os
os.makedirs["/root/dirA/dirB"]
61 và hoạt động với các chuỗi. Nó không kiểm tra hoặc truy cập cấu trúc tệp cơ bảnPurePath. with_name[tên] ¶Trả lại một đường dẫn mới với
import os
os.makedirs["/root/dirA/dirB"]
414 đã thay đổi. Nếu đường dẫn ban đầu không có tên, ValueError sẽ được nâng lênimport os
os.makedirs["/root/dirA/dirB"]
76PurePath. with_stem[stem] ¶Trả lại một đường dẫn mới với
import os
os.makedirs["/root/dirA/dirB"]
415 đã thay đổi. Nếu đường dẫn ban đầu không có tên, ValueError sẽ được nâng lênimport os
os.makedirs["/root/dirA/dirB"]
77Mới trong phiên bản 3. 9
PurePath. with_suffix[hậu tố] ¶Trả lại một đường dẫn mới với
import os
os.makedirs["/root/dirA/dirB"]
416 đã thay đổi. Nếu đường dẫn ban đầu không có hậu tố, thay vào đó, hậu tố mới sẽ được thêm vào. Nếu hậu tố là một chuỗi rỗng, hậu tố ban đầu sẽ bị xóaimport os
os.makedirs["/root/dirA/dirB"]
78Đường bê tông¶
Đường dẫn cụ thể là các lớp con của các lớp đường dẫn thuần túy. Ngoài các hoạt động do cái sau cung cấp, chúng cũng cung cấp các phương thức để thực hiện các cuộc gọi hệ thống trên các đối tượng đường dẫn. Có ba cách để khởi tạo các đường dẫn cụ thể
lớp pathlib. Đường dẫn[*đoạn đường dẫn]¶Một lớp con của
import os
os.makedirs["/root/dirA/dirB"]
61, lớp này đại diện cho các đường dẫn cụ thể của hương vị đường dẫn của hệ thống [khởi tạo nó tạo ra một import os
os.makedirs["/root/dirA/dirB"]
418 hoặc một import os
os.makedirs["/root/dirA/dirB"]
07]import os
os.makedirs["/root/dirA/dirB"]
79phân đoạn đường dẫn được chỉ định tương tự như
import os
os.makedirs["/root/dirA/dirB"]
61lớp pathlib. Đường dẫn Posix[*đoạn đường dẫn]¶Một lớp con của
import os
os.makedirs["/root/dirA/dirB"]
06 và import os
os.makedirs["/root/dirA/dirB"]
90, lớp này đại diện cho các đường dẫn hệ thống tệp không phải Windows cụ thểimport os
os.makedirs["/root/dirA/dirB"]
80phân đoạn đường dẫn được chỉ định tương tự như
import os
os.makedirs["/root/dirA/dirB"]
61lớp pathlib. Đường dẫn Windows[*đoạn đường dẫn]¶Một lớp con của
import os
os.makedirs["/root/dirA/dirB"]
06 và import os
os.makedirs["/root/dirA/dirB"]
08, lớp này đại diện cho các đường dẫn hệ thống tệp Windows cụ thểimport os
os.makedirs["/root/dirA/dirB"]
81phân đoạn đường dẫn được chỉ định tương tự như
import os
os.makedirs["/root/dirA/dirB"]
61Bạn chỉ có thể khởi tạo hương vị lớp tương ứng với hệ thống của mình [việc cho phép hệ thống gọi các hương vị đường dẫn không tương thích có thể dẫn đến lỗi hoặc lỗi trong ứng dụng của bạn]
import os
os.makedirs["/root/dirA/dirB"]
82Phương pháp¶
Đường bê tông cung cấp các phương thức sau ngoài các phương thức đường dẫn thuần túy. Nhiều phương pháp trong số này có thể tăng
import os
os.makedirs["/root/dirA/dirB"]
427 nếu lệnh gọi hệ thống không thành công [ví dụ: do đường dẫn không tồn tại]Đã thay đổi trong phiên bản 3. 8. ______1428,
import os
os.makedirs["/root/dirA/dirB"]
429, import os
os.makedirs["/root/dirA/dirB"]
430, import os
os.makedirs["/root/dirA/dirB"]
431, import os
os.makedirs["/root/dirA/dirB"]
432, import os
os.makedirs["/root/dirA/dirB"]
433, import os
os.makedirs["/root/dirA/dirB"]
434, import os
os.makedirs["/root/dirA/dirB"]
435, import os
os.makedirs["/root/dirA/dirB"]
436 hiện trả về import os
os.makedirs["/root/dirA/dirB"]
408 thay vì đưa ra một ngoại lệ cho các đường dẫn chứa các ký tự không thể biểu diễn ở cấp hệ điều hành. phương thức lớp Đường dẫn. cwd[] ¶Trả về một đối tượng đường dẫn mới đại diện cho thư mục hiện tại [được trả về bởi
import os
os.makedirs["/root/dirA/dirB"]
438]import os
os.makedirs["/root/dirA/dirB"]
83phương thức lớp Đường dẫn. nhà[] ¶Trả về một đối tượng đường dẫn mới đại diện cho thư mục chính của người dùng [như được trả về bởi
import os
os.makedirs["/root/dirA/dirB"]
439 với cấu trúc import os
os.makedirs["/root/dirA/dirB"]
440]. Nếu thư mục chính không thể được giải quyết, import os
os.makedirs["/root/dirA/dirB"]
441 được nâng lênimport os
os.makedirs["/root/dirA/dirB"]
84Mới trong phiên bản 3. 5
Đường dẫn. stat[* , follow_symlinks=True]¶Trả về một đối tượng
import os
os.makedirs["/root/dirA/dirB"]
442 chứa thông tin về đường dẫn này, chẳng hạn như import os
os.makedirs["/root/dirA/dirB"]
443. Kết quả được tra cứu ở mỗi cuộc gọi đến phương thức nàyPhương pháp này thường đi theo các liên kết tượng trưng;
import os
os.makedirs["/root/dirA/dirB"]
85Đã thay đổi trong phiên bản 3. 10. Tham số follow_symlinks đã được thêm vào.
Đường dẫn. chmod[chế độ , *, follow_symlinks=True]¶Thay đổi chế độ tệp và quyền, như
import os
os.makedirs["/root/dirA/dirB"]
446Phương pháp này thường theo các liên kết tượng trưng. Một số hương vị Unix hỗ trợ thay đổi quyền trên chính liên kết tượng trưng;
import os
os.makedirs["/root/dirA/dirB"]
86Đã thay đổi trong phiên bản 3. 10. Tham số follow_symlinks đã được thêm vào.
Đường dẫn. tồn tại[] ¶Đường dẫn có trỏ đến một tệp hoặc thư mục hiện có hay không
import os
os.makedirs["/root/dirA/dirB"]
87Ghi chú
Nếu đường dẫn trỏ đến một liên kết tượng trưng, _______1428 trả về liệu liên kết tượng trưng có trỏ đến một tệp hoặc thư mục hiện có hay không
Đường dẫn. trình mở rộng[] ¶Trả về một đường dẫn mới với các cấu trúc
import os
os.makedirs["/root/dirA/dirB"]
440 và import os
os.makedirs["/root/dirA/dirB"]
451 được mở rộng, như được trả về bởi import os
os.makedirs["/root/dirA/dirB"]
439. Nếu một thư mục chính không thể được giải quyết, import os
os.makedirs["/root/dirA/dirB"]
441 được nâng lênimport os
os.makedirs["/root/dirA/dirB"]
88Mới trong phiên bản 3. 5
Đường dẫn. toàn cầu[mẫu] ¶Toàn cầu mẫu tương đối đã cho trong thư mục được đại diện bởi đường dẫn này, mang lại tất cả các tệp phù hợp [thuộc bất kỳ loại nào]
import os
os.makedirs["/root/dirA/dirB"]
89Các mẫu giống như đối với
import os
os.makedirs["/root/dirA/dirB"]
454, với việc bổ sung “import os
os.makedirs["/root/dirA/dirB"]
455” có nghĩa là “thư mục này và tất cả các thư mục con, theo cách đệ quy”. Nói cách khác, nó cho phép toàn cầu hóa đệ quyimport os
os.makedirs["/root/dirA/dirB"]
10Ghi chú
Sử dụng mẫu “
import os
os.makedirs["/root/dirA/dirB"]
455” trong các cây thư mục lớn có thể tiêu tốn một lượng thời gian không đáng cóTăng sự kiện kiểm tra
import os
os.makedirs["/root/dirA/dirB"]
457 với các đối số import os
os.makedirs["/root/dirA/dirB"]
458, import os
os.makedirs["/root/dirA/dirB"]
459. Đã thay đổi trong phiên bản 3. 11. Chỉ trả về các thư mục nếu mẫu kết thúc bằng dấu tách thành phần tên đường dẫn [
import os
os.makedirs["/root/dirA/dirB"]
460 hoặc import os
os.makedirs["/root/dirA/dirB"]
461]. Đường dẫn. nhóm[] ¶Trả về tên của nhóm sở hữu tệp.
import os
os.makedirs["/root/dirA/dirB"]
462 được nâng lên nếu gid của tệp không được tìm thấy trong cơ sở dữ liệu hệ thốngĐường dẫn. is_dir[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến một thư mục [hoặc một liên kết tượng trưng trỏ đến một thư mục], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến một loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. is_file[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến một tệp thông thường [hoặc một liên kết tượng trưng trỏ đến một tệp thông thường], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến một loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. is_mount[] ¶Trả lại
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn là điểm gắn kết. một điểm trong hệ thống tệp nơi một hệ thống tệp khác đã được gắn kết. Trên POSIX, chức năng này kiểm tra xem cha của đường dẫn, import os
os.makedirs["/root/dirA/dirB"]
470, có nằm trên một thiết bị khác với đường dẫn hay không hoặc liệu import os
os.makedirs["/root/dirA/dirB"]
470 và đường dẫn có trỏ đến cùng một i-node trên cùng một thiết bị hay không — điều này sẽ phát hiện các điểm gắn kết cho tất cả các biến thể Unix và POSIX. Không được triển khai trên WindowsMới trong phiên bản 3. 7
Đường dẫn. is_symlink[] ¶Trả lại
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến liên kết tượng trưng, ngược lại là import os
os.makedirs["/root/dirA/dirB"]
408import os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại; Đường dẫn. is_socket[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến một ổ cắm Unix [hoặc một liên kết tượng trưng trỏ đến một ổ cắm Unix], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến một loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. is_fifo[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến một FIFO [hoặc một liên kết tượng trưng trỏ đến một FIFO], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến một loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. is_block_device[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến thiết bị khối [hoặc liên kết tượng trưng trỏ đến thiết bị khối], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. is_char_device[] ¶Trả về
import os
os.makedirs["/root/dirA/dirB"]
407 nếu đường dẫn trỏ đến thiết bị ký tự [hoặc liên kết tượng trưng trỏ đến thiết bị ký tự], import os
os.makedirs["/root/dirA/dirB"]
408 nếu nó trỏ đến loại tệp khácimport os
os.makedirs["/root/dirA/dirB"]
408 cũng được trả về nếu đường dẫn không tồn tại hoặc là một liên kết tượng trưng bị hỏng; Đường dẫn. iterdir[] ¶Khi đường dẫn trỏ đến một thư mục, hãy tạo ra các đối tượng đường dẫn của nội dung thư mục
import os
os.makedirs["/root/dirA/dirB"]
11Các phần tử con được tạo ra theo thứ tự tùy ý và không bao gồm các phần tử đặc biệt
import os
os.makedirs["/root/dirA/dirB"]
487 và import os
os.makedirs["/root/dirA/dirB"]
94. Nếu một tệp bị xóa khỏi hoặc được thêm vào thư mục sau khi tạo trình vòng lặp, liệu một đối tượng đường dẫn cho tệp đó có được đưa vào hay không là không xác địnhĐường dẫn. lchmod[chế độ] ¶Giống như
import os
os.makedirs["/root/dirA/dirB"]
489, nhưng, nếu đường dẫn trỏ đến một liên kết tượng trưng, chế độ của liên kết tượng trưng sẽ bị thay đổi thay vì mục tiêu của nóĐường dẫn. lstat[] ¶Giống như
import os
os.makedirs["/root/dirA/dirB"]
490 nhưng, nếu đường dẫn trỏ đến một liên kết tượng trưng, hãy trả về thông tin của liên kết tượng trưng thay vì của mục tiêuĐường dẫn. mkdir[chế độ=0o777, parents=False, exist_ok=False]¶Tạo một thư mục mới tại đường dẫn đã cho này. Nếu chế độ được cung cấp, nó sẽ được kết hợp với giá trị
import os
os.makedirs["/root/dirA/dirB"]
491 của quy trình để xác định chế độ tệp và cờ truy cập. Nếu đường dẫn đã tồn tại, import os
os.makedirs["/root/dirA/dirB"]
492 được nâng lênNếu cha mẹ là đúng, bất kỳ cha mẹ bị thiếu nào của đường dẫn này đều được tạo khi cần thiết;
Nếu cha mẹ là sai [mặc định], cha mẹ bị thiếu sẽ tăng
import os
os.makedirs["/root/dirA/dirB"]
494Nếu tồn tại_ok là sai [mặc định],
import os
os.makedirs["/root/dirA/dirB"]
492 được nâng lên nếu thư mục đích đã tồn tạiNếu tồn tại_ok là đúng, các ngoại lệ
import os
os.makedirs["/root/dirA/dirB"]
492 sẽ bị bỏ qua [hành vi tương tự như lệnh POSIX import os
os.makedirs["/root/dirA/dirB"]
493], nhưng chỉ khi thành phần đường dẫn cuối cùng không phải là tệp không có thư mục hiện cóĐã thay đổi trong phiên bản 3. 5. Tham số tồn tại đã được thêm vào.
Đường dẫn. mở[chế độ=', buffering=- 1, encoding=None, errors=None, newline=None]¶Mở tệp được trỏ đến bởi đường dẫn, giống như chức năng
import os
os.makedirs["/root/dirA/dirB"]
498 tích hợpimport os
os.makedirs["/root/dirA/dirB"]
12Đường dẫn. chủ sở hữu[] ¶Trả về tên của người dùng sở hữu tệp.
import os
os.makedirs["/root/dirA/dirB"]
462 được nâng lên nếu uid của tệp không được tìm thấy trong cơ sở dữ liệu hệ thốngĐường dẫn. read_byte[] ¶Trả về nội dung nhị phân của tệp trỏ tới dưới dạng đối tượng byte
import os
os.makedirs["/root/dirA/dirB"]
13Mới trong phiên bản 3. 5
Đường dẫn. read_text[mã hóa=Không, errors=None]¶Trả lại nội dung đã giải mã của tệp trỏ tới dưới dạng chuỗi
import os
os.makedirs["/root/dirA/dirB"]
14Tệp được mở rồi đóng lại. Các tham số tùy chọn có cùng ý nghĩa như trong
import os
os.makedirs["/root/dirA/dirB"]
498Mới trong phiên bản 3. 5
Đường dẫn. liên kết đọc[] ¶Trả về đường dẫn mà liên kết tượng trưng trỏ đến [như được trả về bởi
import os
os.makedirs["/root/dirA/dirB"]
501]import os
os.makedirs["/root/dirA/dirB"]
15Mới trong phiên bản 3. 9
Đường dẫn. đổi tên[mục tiêu] ¶Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một phiên bản Đường dẫn mới trỏ đến mục tiêu. Trên Unix, nếu mục tiêu tồn tại và là một tệp, nó sẽ được thay thế âm thầm nếu người dùng có quyền. Trên Windows, nếu mục tiêu tồn tại,
import os
os.makedirs["/root/dirA/dirB"]
492 sẽ được nâng lên. mục tiêu có thể là một chuỗi hoặc một đối tượng đường dẫn khácimport os
os.makedirs["/root/dirA/dirB"]
16Đường dẫn đích có thể là tuyệt đối hoặc tương đối. Đường dẫn tương đối được giải thích tương ứng với thư mục làm việc hiện tại, không phải thư mục của đối tượng Đường dẫn
Đã thay đổi trong phiên bản 3. 8. Đã thêm giá trị trả về, trả về phiên bản Đường dẫn mới.
Đường dẫn. thay thế[mục tiêu] ¶Đổi tên tệp hoặc thư mục này thành mục tiêu đã cho và trả về một phiên bản Đường dẫn mới trỏ đến mục tiêu. Nếu mục tiêu trỏ đến một tệp hiện có hoặc thư mục trống, nó sẽ bị thay thế vô điều kiện
Đường dẫn đích có thể là tuyệt đối hoặc tương đối. Đường dẫn tương đối được giải thích tương ứng với thư mục làm việc hiện tại, không phải thư mục của đối tượng Đường dẫn
Đã thay đổi trong phiên bản 3. 8. Đã thêm giá trị trả về, trả về phiên bản Đường dẫn mới.
Đường dẫn. tuyệt đối[] ¶Tạo đường dẫn tuyệt đối, không cần chuẩn hóa hoặc giải quyết các liên kết tượng trưng. Trả về một đối tượng đường dẫn mới
import os
os.makedirs["/root/dirA/dirB"]
17Đường dẫn. giải quyết[nghiêm ngặt=Sai]¶Tạo đường dẫn tuyệt đối, giải quyết mọi liên kết tượng trưng. Một đối tượng đường dẫn mới được trả về
import os
os.makedirs["/root/dirA/dirB"]
18Các thành phần “
import os
os.makedirs["/root/dirA/dirB"]
503” cũng bị loại bỏ [đây là phương pháp duy nhất để làm như vậy]import os
os.makedirs["/root/dirA/dirB"]
19Nếu đường dẫn không tồn tại và nghiêm ngặt là
import os
os.makedirs["/root/dirA/dirB"]
407, thì import os
os.makedirs["/root/dirA/dirB"]
494 được nâng lên. Nếu nghiêm ngặt là import os
os.makedirs["/root/dirA/dirB"]
408, đường dẫn được giải quyết càng nhiều càng tốt và mọi phần còn lại được thêm vào mà không cần kiểm tra xem nó có tồn tại không. Nếu gặp phải một vòng lặp vô hạn dọc theo đường dẫn phân giải, thì import os
os.makedirs["/root/dirA/dirB"]
441 sẽ được nâng lênMới trong phiên bản 3. 6. Lập luận chặt chẽ [pre-3. 6 hành vi là nghiêm ngặt].
Đường dẫn. rglob[mẫu] ¶Điều này giống như gọi
import os
os.makedirs["/root/dirA/dirB"]
508 với “import os
os.makedirs["/root/dirA/dirB"]
509” được thêm vào trước mẫu tương đối đã choimport os
os.makedirs["/root/dirA/dirB"]
00Tăng sự kiện kiểm tra
import os
os.makedirs["/root/dirA/dirB"]
510 với các đối số import os
os.makedirs["/root/dirA/dirB"]
458, import os
os.makedirs["/root/dirA/dirB"]
459. Đã thay đổi trong phiên bản 3. 11. Chỉ trả về các thư mục nếu mẫu kết thúc bằng dấu tách thành phần tên đường dẫn [
import os
os.makedirs["/root/dirA/dirB"]
460 hoặc import os
os.makedirs["/root/dirA/dirB"]
461]. Đường dẫn. rmdir[] ¶Xóa thư mục này. Thư mục phải trống
Đường dẫn. samefile[other_path] ¶Trả về liệu đường dẫn này có trỏ đến cùng một tệp với other_path hay không, có thể là đối tượng Đường dẫn hoặc chuỗi. Ngữ nghĩa tương tự như
import os
os.makedirs["/root/dirA/dirB"]
515 và import os
os.makedirs["/root/dirA/dirB"]
516Một
import os
os.makedirs["/root/dirA/dirB"]
427 có thể được nâng lên nếu một trong hai tệp không thể truy cập được vì lý do nào đóimport os
os.makedirs["/root/dirA/dirB"]
01Mới trong phiên bản 3. 5
Đường dẫn. symlink_to[đích , đích_là_thư mục=False]¶Biến đường dẫn này thành một liên kết tượng trưng để nhắm mục tiêu. Trong Windows, target_is_directory phải đúng [mặc định là
import os
os.makedirs["/root/dirA/dirB"]
408] nếu đích của liên kết là một thư mục. Trong POSIX, giá trị của target_is_directory bị bỏ quaimport os
os.makedirs["/root/dirA/dirB"]
02Ghi chú
Thứ tự của các đối số [liên kết, mục tiêu] là đảo ngược của
import os
os.makedirs["/root/dirA/dirB"]
519Đường dẫn. hardlink_to[mục tiêu] ¶Biến đường dẫn này thành một liên kết cứng đến cùng một tệp với mục tiêu
Ghi chú
Thứ tự của các đối số [liên kết, mục tiêu] là đảo ngược của
import os
os.makedirs["/root/dirA/dirB"]
520Mới trong phiên bản 3. 10
Đường dẫn. link_to[mục tiêu] ¶Đặt mục tiêu là một liên kết cứng đến đường dẫn này
Cảnh báo
Hàm này không làm cho đường dẫn này trở thành một liên kết cứng để nhắm mục tiêu, bất chấp hàm ý của tên hàm và đối số. Thứ tự đối số [mục tiêu, liên kết] ngược lại với
import os
os.makedirs["/root/dirA/dirB"]
521 và import os
os.makedirs["/root/dirA/dirB"]
522, nhưng khớp với thứ tự của import os
os.makedirs["/root/dirA/dirB"]
520Mới trong phiên bản 3. 8
Không dùng nữa kể từ phiên bản 3. 10. Phương pháp này không được dùng để ủng hộ
import os
os.makedirs["/root/dirA/dirB"]
522, vì thứ tự đối số của import os
os.makedirs["/root/dirA/dirB"]
525 không khớp với thứ tự của import os
os.makedirs["/root/dirA/dirB"]
521. Đường dẫn. chạm[chế độ=0o666, exist_ok=True]¶Tạo một tệp tại đường dẫn đã cho này. Nếu chế độ được cung cấp, nó sẽ được kết hợp với giá trị
import os
os.makedirs["/root/dirA/dirB"]
491 của quy trình để xác định chế độ tệp và cờ truy cập. Nếu tệp đã tồn tại, chức năng thành công nếu tồn tại_ok là đúng [và thời gian sửa đổi của nó được cập nhật đến thời điểm hiện tại], nếu không thì import os
os.makedirs["/root/dirA/dirB"]
492 được nâng lênĐường dẫn. hủy liên kết[missing_ok=Sai]¶Xóa tệp này hoặc liên kết tượng trưng. Nếu đường dẫn trỏ đến một thư mục, hãy sử dụng
import os
os.makedirs["/root/dirA/dirB"]
529 để thay thếNếu missing_ok là false [mặc định], thì
import os
os.makedirs["/root/dirA/dirB"]
494 được nâng lên nếu đường dẫn không tồn tạiNếu missing_ok là đúng, các ngoại lệ của
import os
os.makedirs["/root/dirA/dirB"]
494 sẽ bị bỏ qua [hành vi tương tự như lệnh POSIX import os
os.makedirs["/root/dirA/dirB"]
532]Đã thay đổi trong phiên bản 3. 8. Thông số thiếu_ok đã được thêm vào.
Đường dẫn. write_byte[dữ liệu] ¶Mở tệp được trỏ tới ở chế độ byte, ghi dữ liệu vào tệp và đóng tệp
import os
os.makedirs["/root/dirA/dirB"]
13Một tệp hiện có cùng tên bị ghi đè
Mới trong phiên bản 3. 5
Đường dẫn. write_text[dữ liệu , mã hóa=None, errors=None, newline=None]¶Mở tệp được trỏ tới ở chế độ văn bản, ghi dữ liệu vào tệp và đóng tệp
import os
os.makedirs["/root/dirA/dirB"]
14Một tệp hiện có cùng tên bị ghi đè. Các tham số tùy chọn có cùng ý nghĩa như trong
import os
os.makedirs["/root/dirA/dirB"]
498Mới trong phiên bản 3. 5
Đã thay đổi trong phiên bản 3. 10. Tham số dòng mới đã được thêm vào.
Tương ứng với các công cụ trong mô-đun import os
os.makedirs["/root/dirA/dirB"]
534¶
import os
os.makedirs["/root/dirA/dirB"]
Dưới đây là bảng ánh xạ các hàm
import os
os.makedirs["/root/dirA/dirB"]
534 khác nhau tương ứng với hàm import os
os.makedirs["/root/dirA/dirB"]
61/import os
os.makedirs["/root/dirA/dirB"]
06 tương ứng của chúngGhi chú
Không phải tất cả các cặp hàm/phương thức bên dưới đều tương đương. Một số trong số chúng, mặc dù có một số trường hợp sử dụng chồng chéo, có ngữ nghĩa khác nhau. Chúng bao gồm
import os
os.makedirs["/root/dirA/dirB"]
538 và import os
os.makedirs["/root/dirA/dirB"]
539, import os
os.makedirs["/root/dirA/dirB"]
540 và import os
os.makedirs["/root/dirA/dirB"]
541import os
os.makedirs["/root/dirA/dirB"]
534 và import os
os.makedirs["/root/dirA/dirB"]
09import os
os.makedirs["/root/dirA/dirB"]
05import os
os.makedirs["/root/dirA/dirB"]
538import os
os.makedirs["/root/dirA/dirB"]
539 1import os
os.makedirs["/root/dirA/dirB"]
547import os
os.makedirs["/root/dirA/dirB"]
401import os
os.makedirs["/root/dirA/dirB"]
446import os
os.makedirs["/root/dirA/dirB"]
489import os
os.makedirs["/root/dirA/dirB"]
551import os
os.makedirs["/root/dirA/dirB"]
552import os
os.makedirs["/root/dirA/dirB"]
553import os
os.makedirs["/root/dirA/dirB"]
552import os
os.makedirs["/root/dirA/dirB"]
555import os
os.makedirs["/root/dirA/dirB"]
556import os
os.makedirs["/root/dirA/dirB"]
557import os
os.makedirs["/root/dirA/dirB"]
558import os
os.makedirs["/root/dirA/dirB"]
559import os
os.makedirs["/root/dirA/dirB"]
529import os
os.makedirs["/root/dirA/dirB"]
561, import os
os.makedirs["/root/dirA/dirB"]
562import os
os.makedirs["/root/dirA/dirB"]
563import os
os.makedirs["/root/dirA/dirB"]
438import os
os.makedirs["/root/dirA/dirB"]
565import os
os.makedirs["/root/dirA/dirB"]
566import os
os.makedirs["/root/dirA/dirB"]
567import os
os.makedirs["/root/dirA/dirB"]
439import os
os.makedirs["/root/dirA/dirB"]
569 và import os
os.makedirs["/root/dirA/dirB"]
570import os
os.makedirs["/root/dirA/dirB"]
571import os
os.makedirs["/root/dirA/dirB"]
572import os
os.makedirs["/root/dirA/dirB"]
573import os
os.makedirs["/root/dirA/dirB"]
574import os
os.makedirs["/root/dirA/dirB"]
575import os
os.makedirs["/root/dirA/dirB"]
576import os
os.makedirs["/root/dirA/dirB"]
577import os
os.makedirs["/root/dirA/dirB"]
578import os
os.makedirs["/root/dirA/dirB"]
520import os
os.makedirs["/root/dirA/dirB"]
522import os
os.makedirs["/root/dirA/dirB"]
519import os
os.makedirs["/root/dirA/dirB"]
521import os
os.makedirs["/root/dirA/dirB"]
501import os
os.makedirs["/root/dirA/dirB"]
584import os
os.makedirs["/root/dirA/dirB"]
540import os
os.makedirs["/root/dirA/dirB"]
541 2import os
os.makedirs["/root/dirA/dirB"]
443import os
os.makedirs["/root/dirA/dirB"]
490, import os
os.makedirs["/root/dirA/dirB"]
589, import os
os.makedirs["/root/dirA/dirB"]
590import os
os.makedirs["/root/dirA/dirB"]
591import os
os.makedirs["/root/dirA/dirB"]
592import os
os.makedirs["/root/dirA/dirB"]
93import os
os.makedirs["/root/dirA/dirB"]
594import os
os.makedirs["/root/dirA/dirB"]
595import os
os.makedirs["/root/dirA/dirB"]
596import os
os.makedirs["/root/dirA/dirB"]
597import os
os.makedirs["/root/dirA/dirB"]
598import os
os.makedirs["/root/dirA/dirB"]
515import os
os.makedirs["/root/dirA/dirB"]
600import os
os.makedirs["/root/dirA/dirB"]
601import os
os.makedirs["/root/dirA/dirB"]
602 và import os
os.makedirs["/root/dirA/dirB"]
603chú thích
1import os
os.makedirs["/root/dirA/dirB"]
538 bình thường hóa đường dẫn kết quả, có thể thay đổi ý nghĩa của nó khi có liên kết tượng trưng, trong khi import os
os.makedirs["/root/dirA/dirB"]
539 thì không