Giải pháp tiêu chuẩn là sử dụng hàm os.path.splitext(path) để tách một đường dẫn thành một cặp (root, ext) sao cho root + ext == path. Điều này trả về đường dẫn đến tệp không có phần mở rộng. Nếu tệp có nhiều dấu chấm, thì dấu chấm trước sẽ bị bỏ qua
1
2
3
4
5
nhập os
dir = '/path/to/some/file. txt'
in(os. đường dẫn. splitext(dir)[0]) # /path/to/some/
Tải xuống mã
2. Sử dụng chức năng str.rsplit()
Ngoài ra, bạn có thể sử dụng hàm str.rsplit() để tách kỳ trước
1
2
3
dir = '/path/to/some/file. txt'
in(dir. rsplit('. ', 1)[0]) # /path/to/some/
Tải xuống mã
3. Sử dụng chức năng import os.path extension = os.path.splitext(filename)[1]0
Nếu bạn không cần đường dẫn đầy đủ, bạn có thể sử dụng mô-đun import os.path extension = os.path.splitext(filename)[1]1 trong Python 3. 4+. Bạn có thể sử dụng thuộc tính import os.path extension = os.path.splitext(filename)[1]2 của nó để trả về tên tệp mà không cần phần mở rộng của nó
>>> import os >>> filename, file_extension = os.path.splitext('/path/to/somefile.ext') >>> filename '/path/to/somefile' >>> file_extension '.ext'
import os.path extension = os.path.splitext(filename)[1]
Có bất kỳ ví dụ mã còn lại?
Các ví dụ mã mới trong danh mục Python
Một hệ điều hành như Microsoft Windows sử dụng phần mở rộng tệp làm hậu tố cho tên của tệp máy tính. Nó thuộc danh mục siêu dữ liệu. Sự hiểu biết của hệ điều hành về các thuộc tính của tệp và ở một mức độ nào đó, cách sử dụng mong muốn của nó được hỗ trợ bởi phần mở rộng tệp
Chúng tôi có thể cần giải nén các phần mở rộng tệp bằng Python. Bạn có thể đạt được điều này theo một số cách
ô. mô-đun đường dẫn
Thao tác đường dẫn tệp hệ điều hành được thực hiện đơn giản với sự trợ giúp của mô-đun Python os. con đường. Nó bao gồm việc nhận dữ liệu từ đường dẫn tệp, mở, lưu và cập nhật. Để có được phần mở rộng tệp trong Python, chúng ta sẽ sử dụng mô-đun này
Hàm splitext() trong os. đường dẫn cho phép bạn tách phần gốc và phần mở rộng của một đường dẫn tệp được chỉ định. Một bộ được tạo thành từ chuỗi gốc và chuỗi mở rộng là đầu ra của hàm
Ví dụ Sử dụng phương thức splitext()
chức năng của. con đường. splitext() trả về một bộ có hai mục. phần mở rộng tệp và đường dẫn với tên của tệp, tương ứng. Sau đây là một ví dụ để giải nén tệp bằng os. mô-đun đường dẫn -
đầu ra
Đường dẫn tệp gốc hiện đã trả về thành công phần mở rộng. Sau đây là đầu ra của đoạn mã trên−
Path: D:\Work TP Extension: .pymô-đun đường dẫn
Pathlib là một mô-đun Python định nghĩa các hàm và hằng số hữu ích cho các lớp biểu thị đường dẫn tệp
Sử dụng chuỗi đường dẫn làm tham số, pathlib. Path() tạo đối tượng Path mới
Hậu tố thuộc tính trên pathlib. Đối tượng đường dẫn trả về thông tin về phần mở rộng tệp
Chỉ cần gọi các thuộc tính cha và tên trong đối tượng Đường dẫn, chúng ta có thể có được đường dẫn tệp gốc và tên tệp thực của đường dẫn tệp được cung cấp ngoài thư mục gốc
Ví dụ
Sau đây là một ví dụ để giải nén tệp bằng mô-đun pathlib
import pathlib path = pathlib.Path('D:\Work TP.py') print('Parent:', path.parent) print('NameOfFile:', path.name) print('Extension:', path.suffix)
đầu ra
Sau đây là đầu ra của đoạn mã trên−
Parent: D:\ NameOfFile: Work TP.py Extension: .pyChỉ trích xuất hậu tố mở rộng (không có dấu chấm)
Nếu bạn muốn xóa dấu chấm và chỉ trích xuất hậu tố mở rộng, chẳng hạn như py, txt, docx, v.v. Bạn cần thêm “[1. ]” sau kết quả[1]) trong khi làm việc với phương thức splitext() như –
print('Extension:', result[1][1:])
Tương tự như vậy khi làm việc với pathlib. Phương thức Path() thêm “[1. ]” sau đường dẫn. hậu tố là−
print('Extension:', path.suffix[1:])
Ví dụ
Chương trình sau minh họa cách chỉ in các hậu tố bằng cả hai phương pháp đã thảo luận ở trên –