Để bắt đầu với một ví dụ đơn giản, giả sử rằng một tệp văn bản [được gọi là 'Sản phẩm'] được lưu trữ theo đường dẫn sau
C. \Users\Ron\Desktop\Test
Sau đó, bạn có thể sử dụng mẫu sau để trích xuất phần mở rộng tệp có dấu chấm bằng Python
import os.path my_path = r'path where the file is stored\file name.file extension' ext = os.path.splitext[my_path][1] print[ext]
ví dụ của chúng tôi
- Đường dẫn nơi tệp được lưu trữ là. C. \Users\Ron\Desktop\Test
- tên tập tin là. Các sản phẩm
- Phần mở rộng của tệp văn bản là. txt
Do đó, mã hoàn chỉnh để giải nén phần mở rộng tệp có dấu chấm là
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]
Sau đó, bạn sẽ nhận được “. txt” như sau
.txt
kịch bản 2. Giải nén đuôi file không có dấu chấm
Điều gì sẽ xảy ra nếu bạn muốn giải nén phần mở rộng tệp mà không có dấu chấm?
Trong trường hợp đó, bạn có thể sử dụng mẫu bên dưới
import os.path my_path = r'path where the file is stored\file name.file extension' ext = os.path.splitext[my_path][1][1:] print[ext]
ví dụ của chúng tôi
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1][1:] print[ext]
Bây giờ bạn sẽ nhận được phần mở rộng tệp “txt” không có dấu chấm
txt
kịch bản 3. Giải nén cả gốc và phần mở rộng tập tin
Đối với tình huống cuối cùng, bạn có thể sử dụng cú pháp bên dưới để giải nén cả phần gốc và phần mở rộng của tệp
con trăn
Python trích xuất tên tệp và phần mở rộng từ filepathNgày 15 tháng 7 năm 2016Ngày 26 tháng 7 năm 2016 shakyaabiral1 Nhận xét
import os inputFilepath = 'path/to/file/foobar.txt' filename_w_ext = os.path.basename[inputFilepath] filename, file_extension = os.path.splitext[filename_w_ext] #filename = foobar #file_extension = .txt path, filename = os.path.split[path/to/file/foobar.txt] # path = path/to/file # filename = foobar.txt
Chia sẻ cái này
- In
Như thế này
Thích Đang tải.
Có liên quan
Đường dẫn tệp là một chuỗi xác định duy nhất vị trí của tệp trên hệ thống tệp. Đôi khi bạn có thể cần truy xuất hoặc trích xuất tên tệp từ đường dẫn tệp trong python. Có nhiều cách khác nhau để làm con trăn này. Trong bài viết này, chúng ta sẽ xem cách lấy tên tệp từ đường dẫn trong python
Cách lấy tên tệp từ đường dẫn trong Python
Chúng tôi sẽ xem xét các cách khác nhau để lấy tên tệp từ đường dẫn trong python. Chúng tôi sẽ sử dụng hệ điều hành. thư viện đường dẫn và đường dẫn cho mục đích này
1. Sử dụng hệ điều hành. con đường. basename
Bạn có thể dễ dàng lấy tên tệp bằng os. con đường. chức năng tên cơ sở. Nó sẽ trả về tên tệp có phần mở rộng. Phương pháp này hoạt động với hầu hết mọi phiên bản python
Trong Windows
>>> import os >>> fpath='c:\Project\data.txt' >>> os.path.basename[fpath] 'data.txt'
Trong Linux
________số 8Xin lưu ý, đường dẫn tệp trong Windows chứa dấu gạch chéo ngược trong khi đường dẫn trong Linux chứa dấu gạch chéo lên. Tuy nhiên, trong cả hai trường hợp, python sẽ phân tích chính xác đường dẫn tệp và trả về tên tệp
Nếu bạn không muốn phần mở rộng tệp mà chỉ muốn tên tệp, hãy sử dụng os. con đường. hàm splitext để tách riêng tên tệp và phần mở rộng thành một mảng. Sử dụng chỉ mục 0 để lấy tên tệp không có phần mở rộng. Dưới đây là các ví dụ trên với os. con đường. splitext
Trong Windows
>>> import os >>> fpath='c:\Project\data.txt' >>> base=os.path.basename[fpath] >>> print base data.txt >>> fname=os.path.splitext[base][0] >>> data
Trong Linux
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]0
Nếu bạn chỉ muốn trích xuất tên tệp từ đường dẫn, không có phần mở rộng, trước tiên bạn cần sử dụng os. con đường. tên cơ sở để lấy tên tệp có phần mở rộng, sau đó sử dụng os. con đường. splitext tách tên tệp khỏi phần mở rộng. Nếu bạn gọi trực tiếp os. con đường. splitext trên filepath, sau đó nó sẽ tách phần mở rộng khỏi filepath mà không cần giải nén tên tệp. Đây là một ví dụ về nó
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]1
Xin lưu ý, phương thức splitext sẽ chỉ tách phần mở rộng cuối cùng. Ví dụ: nếu tên tệp của bạn là dữ liệu. hắc ín. gz thì splitext sẽ trả về dữ liệu. tar, thay vì trả lại dữ liệu. Trong trường hợp tên tệp của bạn có nhiều phần mở rộng và bạn chỉ muốn lấy tên tệp thì bạn cần chuyển đầu ra của hàm splitext này sang hàm splitext khác
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]2
2. Sử dụng đường dẫn
Bắt đầu với python 3, bạn cũng có thể sử dụng thư viện pathlib để dễ dàng trích xuất tên tệp từ đường dẫn. Trên thực tế, nó có sẵn như một phần của thư viện chuẩn bắt đầu từ python 3. 4. Đây là một ví dụ
Trong Windows
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]3
Trong Linux
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]4
Xin lưu ý, các. gốc ở trên sẽ chỉ xóa phần mở rộng cuối cùng. Ví dụ: nếu tên tệp của bạn là dữ liệu. hắc ín. gz, sau đó. gốc sẽ trả về dữ liệu. hắc ín
Trong những trường hợp như vậy, bạn phải chuyển đầu ra của một câu lệnh Đường dẫn sang câu lệnh Đường dẫn khác
import os.path my_path = r'C:\Users\Ron\Desktop\Test\Products.txt' ext = os.path.splitext[my_path][1] print[ext]5
Trong bài viết này, chúng tôi đã xem xét hai cách khác nhau để lấy tên tệp từ đường dẫn trong python. Chúng đều hữu ích và thích ứng tốt với các đường dẫn kiểu Windows cũng như các đường dẫn kiểu Linux
Cả hai hệ điều hành. đường dẫn và đường dẫn cung cấp các chức năng hữu ích để lấy tên tệp từ đường dẫn. hệ điều hành. đường dẫn hoạt động trên tất cả các phiên bản Python trong khi đường dẫn có sẵn trong python 3+. Trên thực tế, nó được tạo ra một cách rõ ràng để hoạt động với đường dẫn tệp và đường dẫn thư mục. Tuy nhiên, nếu tên tệp của bạn chứa nhiều phần mở rộng, bạn sẽ phải tách nó nhiều lần để chỉ trích xuất tên tệp. Tuy nhiên, bạn có thể sử dụng một trong hai tùy thuộc vào yêu cầu của bạn