Làm cách nào để lấy phần mở rộng từ tên tệp Python?

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 nối các chuỗi để tạo chuỗi đường dẫn với mô-đun

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
3 trong thư viện chuẩn

  • hệ điều hành. đường dẫn — Thao tác tên đường dẫn phổ biến — Python 3. 9. tài liệu 1rc1

Bài viết này mô tả các nội dung sau

  • Sự khác biệt trong dấu phân cách đường dẫn của hệ điều hành
  • Lấy tên tệp [tên cơ sở] từ một đường dẫn.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    4
    • Tên tệp có phần mở rộng
    • Tên tệp không có phần mở rộng
  • Lấy tên thư mục [thư mục] từ một đường dẫn.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    5
  • Lấy cặp tên tệp và thư mục.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    6
  • Lưu ý khi một chuỗi đường dẫn chỉ ra một thư mục
  • Nhận phần mở rộng.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    7
    • Tạo chuỗi đường dẫn có phần mở rộng khác
    • Lấy phần mở rộng không có dấu chấm [dấu chấm]
    • Ví dụ về các trường hợp như
      basename = os.path.basename[filepath]
      print[basename]
      # filename.ext
      
      print[type[basename]]
      # 
      
      8
  • Tạo chuỗi đường dẫn bằng cách kết hợp tên tệp và thư mục.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    9
    • Tạo một chuỗi đường dẫn cho một tệp khác trong cùng thư mục
  • Sử dụng các định dạng hệ điều hành khác nhau
  • Ví dụ cho Windows
    • Dấu gạch chéo ngược và chuỗi thô
    • Ví dụ về lấy tên tệp, tên thư mục, phần mở rộng
    • Nhận và tham gia một ký tự ổ đĩa.
      basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
      print[basename_without_ext]
      # filename
      
      0

Sử dụng chuỗi đường dẫn sau làm ví dụ

________số 8

nguồn. os_path_basename_dirname_split_splitext. py

Mã mẫu bên dưới đang chạy trên máy Mac. Ví dụ cho Windows được hiển thị ở cuối

Trong Trăn 3. 4 trở lên, bạn cũng có thể lấy tên tệp, tên thư mục [thư mục], phần mở rộng, v.v. , với mô-đun pathlib coi đường dẫn là đối tượng

  • pathlib — Đường dẫn hệ thống tệp hướng đối tượng — Python 3. 9. tài liệu 1rc1

Liên kết được tài trợ

Sự khác biệt trong dấu phân cách đường dẫn của hệ điều hành

Dấu tách đường dẫn phụ thuộc vào hệ điều hành. UNIX [bao gồm cả Mac] sử dụng dấu gạch chéo

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
1 và Windows sử dụng dấu gạch chéo ngược
basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
2 làm dấu phân cách

Bạn có thể lấy dấu tách trong HĐH chạy Python với

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
3 hoặc
basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
4

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
3

nguồn. os_path_basename_dirname_split_splitext. py

Lấy tên tệp [tên cơ sở] từ một đường dẫn.
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4 để lấy tên tệp [tên cơ sở] từ chuỗi đường dẫn

Tên tệp có phần mở rộng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4 trả về tên tệp có phần mở rộng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 

nguồn. os_path_basename_dirname_split_splitext. py

Tên tệp không có phần mở rộng

Bạn có thể lấy tên tệp mà không cần phần mở rộng với

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 được mô tả sau

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 tách ở dấu chấm cuối cùng [bên phải]
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20. Nếu bạn muốn chia theo dấu chấm đầu tiên [bên trái]
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20, hãy sử dụng
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
22

  • Tách chuỗi trong Python [dấu phân cách, ngắt dòng, regex, v.v. ]

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
2

nguồn. os_path_basename_dirname_split_splitext. py

Lấy tên thư mục [thư mục] từ một đường dẫn.
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
5

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
5 để lấy thư mục thư mục [tên] từ một chuỗi đường dẫn

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9

nguồn. os_path_basename_dirname_split_splitext. py

Nếu bạn chỉ muốn lấy tên thư mục ngay phía trên tệp, hãy sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
1

nguồn. os_path_basename_dirname_split_splitext. py

Lấy cặp tên tệp và thư mục.
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
6

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
6 để lấy cả tên tệp và thư mục [thư mục]

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
6 trả về một bộ tên tệp được trả về bởi
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4 và tên thư mục được trả về bởi
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
5

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
30

nguồn. os_path_basename_dirname_split_splitext. py

Bạn có thể giải nén tuple để gán cho từng biến

  • Giải nén một bộ và liệt kê trong Python

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
31

nguồn. os_path_basename_dirname_split_splitext. py

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9 được mô tả sau để nối lại tên tệp và thư mục

Lưu ý khi một chuỗi đường dẫn chỉ ra một thư mục

Lưu ý rằng nếu chuỗi đường dẫn chỉ ra một thư mục [thư mục] thì kết quả sẽ khác 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 phân cách ở cuối

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
32

nguồn. os_path_basename_dirname_split_splitext. py

Nếu có dấu phân cách ở cuối, hãy sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
5 và
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
4 để lấy tên thư mục dưới cùng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
33

nguồn. os_path_basename_dirname_split_splitext. py

Liên kết được tài trợ

Nhận phần mở rộng.
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 để nhận tiện ích mở rộng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 tách phần mở rộng và các phần mở rộng khác rồi trả về dưới dạng một bộ. Phần mở rộng chứa dấu chấm
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
35

nguồn. os_path_basename_dirname_split_splitext. py

Nối với toán tử

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
78 trả về chuỗi đường dẫn ban đầu

  • Nối các chuỗi trong Python [toán tử +, nối, v.v. ]

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
36

nguồn. os_path_basename_dirname_split_splitext. py

Tạo chuỗi đường dẫn có phần mở rộng khác

Để tạo một chuỗi đường dẫn chỉ có phần mở rộng được thay đổi so với phần gốc, hãy nối phần tử đầu tiên của bộ dữ liệu được trả về bởi

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 với bất kỳ phần mở rộng nào

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
37

nguồn. os_path_basename_dirname_split_splitext. py

Lấy phần mở rộng không có dấu chấm [dấu chấm]

Nếu bạn muốn lấy phần mở rộng không có dấu chấm [dấu chấm]

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20, hãy chỉ định chuỗi thứ hai và chuỗi tiếp theo với lát cắt
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
91

  • Cách cắt danh sách, chuỗi, tuple trong Python

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
38

nguồn. os_path_basename_dirname_split_splitext. py

Ví dụ về các trường hợp như
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
8

Như trong ví dụ trên,

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7 tách ra ở dấu chấm cuối cùng [bên phải]
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20. Hãy cẩn thận với các tiện ích mở rộng như
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
8

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
39

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
70

nguồn. os_path_basename_dirname_split_splitext. py

Nếu bạn muốn chia theo dấu chấm đầu tiên [bên trái]

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20 trong tên tệp, hãy sử dụng phương thức
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
22 của chuỗi, nhưng nó không hoạt động nếu tên thư mục cũng chứa dấu chấm
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
71

nguồn. os_path_basename_dirname_split_splitext. py

Sau khi tách với

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
6, hãy áp dụng phương pháp
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
22 của chuỗi và nối với
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9 được mô tả sau

Chuỗi được trả về bởi

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
22 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 phần mở rộng có dấu chấm
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
20 như
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
72

nguồn. os_path_basename_dirname_split_splitext. py

Tạo chuỗi đường dẫn bằng cách kết hợp tên tệp và thư mục.
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9

Sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9 để nối tên tệp và thư mục để tạo chuỗi đường dẫn mới

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
73

nguồn. os_path_basename_dirname_split_splitext. py

Tạo một chuỗi đường dẫn cho một tệp khác trong cùng 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 thư mục của một tệp, hãy sử dụng

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
5 và
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
7

nguồn. os_path_basename_dirname_split_splitext. py

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
75

nguồn. os_path_basename_dirname_split_splitext. py

Sử 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ĐH không phải là HĐH mà Python hiện đang chạy, hãy nhập và sử dụng các mô-đun khác thay vì mô-đun

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
19

  • UNIX [bao gồm cả máy Mac hiện tại].
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    70
  • các cửa sổ.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    71
  • Macintosh 9 trở về trước.
    basename = os.path.basename[filepath]
    print[basename]
    # filename.ext
    
    print[type[basename]]
    # 
    
    72

Vì mỗi mô-đun có giao diện giống như

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
3, nên bạn có thể thay đổi phần
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
3 của mã mẫu thành tên mô-đun của chúng [chẳng hạn như
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
71]

Ví dụ cho Windows

Mã mẫu bên dưới đang chạy trên Mac bằng mô-đun

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
71 được đề cập ở trên. Khi chạy trên Windows, bạn có thể thay thế
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
71 bằng
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
3

Dấu gạch chéo ngược và chuỗi thô

Dấu phân cách đường dẫn trong Windows là dấu gạch chéo ngược

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
2

Để 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 để thoát.

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
300 xuất ra một dấu gạch chéo ngược

  • 2. Phân tích từ vựng - Chuỗi ký tự và byte — Python 3. 9. tài liệu 1rc1

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
76

nguồn. os_ntpath. py

Chuỗi thô [

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
301] 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. Một chuỗi thô và một chuỗi bình thường có giá trị bằng nhau

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
77

nguồn. os_ntpath. py

Để biết thêm thông tin về chuỗi thô, hãy xem bài viết sau

  • Chuỗi thô trong Python

Ví dụ lấy tên tệp, tên thư mục, phần mở rộng

Nó cũng hoạt động trên Windows

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
78

nguồn. os_ntpath. py

Nhận và tham gia một ký tự ổ đĩa.
basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
0

Sử dụng

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
0 để lấy ký tự ổ đĩa. Mã mẫu bên dưới sử dụng
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
304

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
0 tách ký tự ổ đĩa bao gồm cả dấu hai chấm
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
306 và những ký tự khác

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
79

nguồn. os_ntpath. py

Nếu chỉ muốn lấy ký tự ổ đĩa thì chọn ký tự đầu tiên

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
0

nguồn. os_ntpath. py

Hãy cẩn thận khi tham gia các ký tự ổ đĩa

Nếu bạn chuyển nó cho

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9 thì nó sẽ không hoạt động

basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
1

nguồn. os_ntpath. py

Bạn cũng có thể chỉ định

basename_without_ext = os.path.splitext[os.path.basename[filepath]][0]
print[basename_without_ext]
# filename
3 [
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
309 trong mã mẫu] trong đối số của
basename = os.path.basename[filepath]
print[basename]
# filename.ext

print[type[basename]]
# 
9 hoặc thêm dấu phân cách vào ký tự ổ đĩa

Chủ Đề