Bạn gần như ở đó với việc bạn sử dụng chức năng
import os
filepath = './dir/subdir/filename.ext'
6. Bạn chỉ cần tham gia các chuỗi, như theo sau.>>> import os
>>> '\\'.join[existGDBPath.split['\\'][0:-1]]
'T:\\Data\\DBDesign'
Mặc dù, tôi khuyên bạn nên sử dụng chức năng
import os
filepath = './dir/subdir/filename.ext'
7 để thực hiện việc này, bạn chỉ cần vượt qua chuỗi và nó sẽ thực hiện công việc cho bạn. Vì, bạn dường như đang ở trên Windows, hãy xem xét sử dụng chức năng import os
filepath = './dir/subdir/filename.ext'
8. Một ví dụ:>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
Nếu bạn muốn cả tên tệp và đường dẫn thư mục sau khi được chia, bạn có thể sử dụng hàm
import os
filepath = './dir/subdir/filename.ext'
9 trả về một tuple, như sau.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
Trong Python, bạn có thể lấy tên tệp [tên cơ sở], tên thư mục [thư mục] và phần mở rộng từ chuỗi đường dẫn hoặc tham gia các chuỗi để tạo chuỗi đường dẫn với mô -đun
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
0 trong thư viện tiêu chuẩn.- Os.Path - Thao tác tên đường dẫn phổ biến - Tài liệu Python 3.9.1RC1
Bài viết này mô tả các nội dung sau đây.
- Sự khác biệt về phân tách đường dẫn bằng hệ điều hành
- Nhận tên tệp [basename] từ một đường dẫn:
1print[os.sep] # / print[os.sep is os.path.sep] # True
- Tên tệp với phần mở rộng
- Tên tệp mà không cần mở rộng
- Lấy tên thư mục [thư mục] từ một đường dẫn:
2print[os.sep] # / print[os.sep is os.path.sep] # True
- Nhận cặp tệp và tên thư mục:
3print[os.sep] # / print[os.sep is os.path.sep] # True
- Ghi chú khi chuỗi đường dẫn biểu thị thư mục
- Nhận tiện ích mở rộng:
4print[os.sep] # / print[os.sep is os.path.sep] # True
- Tạo một chuỗi đường dẫn với một tiện ích mở rộng khác
- Nhận tiện ích mở rộng mà không có dấu chấm [khoảng thời gian]
- Ví dụ về các trường hợp như
5print[os.sep] # / print[os.sep is os.path.sep] # True
- Tạo chuỗi đường dẫn bằng cách kết hợp tên tệp và tên thư mục:
6print[os.sep] # / print[os.sep is os.path.sep] # True
- Tạo chuỗi đường dẫn cho một tệp khác trong cùng một thư mục
- Sử dụng các định dạng hệ điều hành khác nhau
- Ví dụ cho Windows
- Backslash và chuỗi thô
- Bộ phân cách đường dẫn trong Windows là Backslash
9.print[os.sep] # / print[os.sep is os.path.sep] # True
- Nhận và tham gia một ký tự ổ đĩa:
7print[os.sep] # / print[os.sep is os.path.sep] # True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
7 để lấy ký tự ổ đĩa. Mã mẫu dưới đây sử dụng >>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
11.import os
filepath = './dir/subdir/filename.ext'
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
7 phân chia ký tự ổ đĩa bao gồm Đại tá >>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
13 và những người khác.Nếu bạn chỉ muốn nhận được ký tự ổ đĩa, hãy chọn ký tự đầu tiên.
- Hãy cẩn thận khi tham gia các ký tự ổ đĩa.
Sự khác biệt về phân tách đường dẫn bằng hệ điều hành
Nhận tên tệp [basename] từ một đường dẫn:
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
1Tên tệp với phần mở rộng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Nhận tên tệp [basename] từ một đường dẫn: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
1
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Tên tệp với phần mở rộng
Tên tệp với phần mở rộng
Tên tệp mà không cần mở rộng
Lấy tên thư mục [thư mục] từ một đường dẫn:
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2basename = os.path.basename[filepath]
print[basename]
# filename.ext
print[type[basename]]
#
Tên tệp mà không cần mở rộng
Lấy tên thư mục [thư mục] từ một đường dẫn:
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
Nhận cặp tệp và tên thư mục:
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
3- Chia chuỗi trong Python [Delimiter, Line Break, Regex, v.v.]
________số 8
Lấy tên thư mục [thư mục] từ một đường dẫn: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2 để lấy thư mục thư mục [tên] từ chuỗi đường dẫn.filepath = './dir/subdir/filename.ext'
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
0Nếu bạn chỉ muốn nhận tên thư mục ngay phía trên tệp, hãy sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
1.>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
1Nhận cặp tệp và tên thư mục: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
3
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
3 để lấy cả tên tệp và thư mục [thư mục].print[os.sep]
# /
print[os.sep is os.path.sep]
# True
3 Trả về một bộ tệp được trả về bởi print[os.sep]
# /
print[os.sep is os.path.sep]
# True
1 và tên thư mục được trả về bởi print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2.filepath = './dir/subdir/filename.ext'
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
3Bạn có thể giải nén tuple để gán cho từng biến.
- Giải nén một tuple và danh sách trong Python
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
4Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6 được mô tả sau để tham gia lại tên tệp và thư mục.Ghi chú khi chuỗi đường dẫn biểu thị thư mục
Lưu ý rằng nếu chuỗi đường dẫn biểu thị thư mục [thư mục], kết quả sẽ khác nhau tùy thuộc vào việc có dấu phân cách ở cuối hay không.
Không có dấu tách ở cuối:
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
5Nếu có một dấu phân cách ở cuối, hãy sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2 và print[os.sep]
# /
print[os.sep is os.path.sep]
# True
1 để lấy tên thư mục dưới cùng.>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
6Nhận tiện ích mở rộng: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4 để có được phần mở rộng.print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4 chia phần mở rộng và các phần khác và trả lại nó như một tuple. Phần mở rộng chứa dấu chấm filepath = './dir/subdir/filename.ext'
7.filepath = './dir/subdir/filename.ext'
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
8Kết nối với toán tử
basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
5 trả về chuỗi đường dẫn ban đầu.- Chuỗi Concatenate trong Python [+ toán tử, tham gia, v.v.]
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
9Tạo một chuỗi đường dẫn với một tiện ích mở rộng khác
Để tạo một chuỗi đường dẫn chỉ có phần mở rộng được thay đổi từ bản gốc, hãy nối phần tử đầu tiên của tuple được trả về bởi
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4 với bất kỳ tiện ích mở rộng nào.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
0Nhận tiện ích mở rộng mà không có dấu chấm [khoảng thời gian]
Nếu bạn muốn nhận phần mở rộng mà không có dấu chấm [khoảng thời gian]
filepath = './dir/subdir/filename.ext'
7, hãy chỉ định chuỗi thứ hai và tiếp theo với lát basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
8.- Cách cắt một danh sách, chuỗi, tuple trong Python
>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
1Ví dụ về các trường hợp như print[os.sep]
# /
print[os.sep is os.path.sep]
# True
5
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Như được hiển thị trong ví dụ trên,
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4 chia ở điểm cuối cùng [phải] DOT filepath = './dir/subdir/filename.ext'
7. Hãy cẩn thận với các phần mở rộng như print[os.sep]
# /
print[os.sep is os.path.sep]
# True
5.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
2>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
3Nếu bạn muốn chia theo dấu chấm đầu tiên [trái] trong tên tệp, hãy sử dụng phương thức
filepath = './dir/subdir/filename.ext'
9 của chuỗi, nhưng nó không hoạt động nếu tên thư mục cũng chứa dotfilepath = './dir/subdir/filename.ext'
7.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
4Sau khi chia tách với
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
3, áp dụng phương pháp filepath = './dir/subdir/filename.ext'
9 của chuỗi và tham gia với print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6 được mô tả sau.Chuỗi được trả về bởi
filepath = './dir/subdir/filename.ext'
9 không chứa dấu phân cách, vì vậy hãy cẩn thận nếu bạn muốn nhận tiện ích mở rộng với dấu chấm filepath = './dir/subdir/filename.ext'
7 như print[os.sep]
# /
print[os.sep is os.path.sep]
# True
4.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
5Tạo chuỗi đường dẫn bằng cách kết hợp tên tệp và tên thư mục: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6 để tham gia tên tệp và thư mục để tạo chuỗi đường dẫn mới.>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
6Tạo chuỗi đường dẫn cho một tệp khác trong cùng một thư mục
Nếu bạn muốn tạo một chuỗi đường dẫn cho một tệp khác trong cùng một thư mục của một tệp, hãy sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
2 và print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6.filepath = './dir/subdir/filename.ext'
>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
8Sử dụng các định dạng hệ điều hành khác nhau
Nếu bạn muốn thao tác các chuỗi đường dẫn ở định dạng hệ điều hành không phải là hệ điều hành mà Python hiện đang chạy, nhập và sử dụng các mô -đun khác nhau thay vì mô -đun
filepath = './dir/subdir/filename.ext'
6.- UNIX [bao gồm MAC hiện tại]:
7filepath = './dir/subdir/filename.ext'
- Windows:
8filepath = './dir/subdir/filename.ext'
- Macintosh 9 và sớm hơn:
9filepath = './dir/subdir/filename.ext'
Vì mỗi mô -đun có cùng giao diện với
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
0, bạn có thể thay đổi phần print[os.sep]
# /
print[os.sep is os.path.sep]
# True
0 của mã mẫu cho đến nay thành tên mô -đun của chúng [như filepath = './dir/subdir/filename.ext'
8].Ví dụ cho Windows
Mã mẫu dưới đây đang chạy trên MAC bằng mô -đun
filepath = './dir/subdir/filename.ext'
8 được đề cập ở trên. Khi chạy trên Windows, bạn có thể thay thế filepath = './dir/subdir/filename.ext'
8 bằng print[os.sep]
# /
print[os.sep is os.path.sep]
# True
0.Backslash và chuỗi thô
Bộ phân cách đường dẫn trong Windows là Backslash
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
9.Để viết dấu gạch chéo ngược trong một chuỗi, bạn cần viết hai dấu gạch chéo ngược để trốn thoát.
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
07 đầu ra một dấu gạch chéo ngược.- 2. Phân tích từ vựng - Chuỗi và byte theo nghĩa đen - Python 3.9.1RC1 Tài liệu
>>> import os
>>> os.path.split[os.path.abspath[existGDBPath]]
['T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb']
9Chuỗi RAW [
>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
08] giúp viết đường dẫn Windows dễ dàng hơn vì bạn có thể viết dấu gạch chéo ngược như nó là. Một chuỗi thô và một chuỗi bình thường có giá trị bằng nhau.import os
filepath = './dir/subdir/filename.ext'
0Để biết thêm thông tin về chuỗi thô, xem bài viết sau.
- Dây thô trong Python
Ví dụ về nhận tên tệp, tên thư mục, tiện ích mở rộng
Nó cũng hoạt động trên Windows.
import os
filepath = './dir/subdir/filename.ext'
1Nhận và tham gia một ký tự ổ đĩa: print[os.sep]
# /
print[os.sep is os.path.sep]
# True
7
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
Sử dụng
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
7 để lấy ký tự ổ đĩa. Mã mẫu dưới đây sử dụng >>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
11.print[os.sep]
# /
print[os.sep is os.path.sep]
# True
7 phân chia ký tự ổ đĩa bao gồm Đại tá >>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
13 và những người khác.import os
filepath = './dir/subdir/filename.ext'
2Nếu bạn chỉ muốn nhận được ký tự ổ đĩa, hãy chọn ký tự đầu tiên.
import os
filepath = './dir/subdir/filename.ext'
3Hãy cẩn thận khi tham gia các ký tự ổ đĩa.
Nếu bạn chuyển nó cho
print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6 như nó là, nó sẽ không hoạt động.import os
filepath = './dir/subdir/filename.ext'
4Bạn cũng có thể chỉ định
filepath = './dir/subdir/filename.ext'
0 [>>> import os
>>> os.path.dirname[os.path.abspath[existGDBPath]]
'T:\\Data\\DBDesign'
16 trong mã mẫu] trong đối số của print[os.sep]
# /
print[os.sep is os.path.sep]
# True
6 hoặc thêm một dấu tách vào ký tự ổ đĩa.import os
filepath = './dir/subdir/filename.ext'
5