Python lấy tên tệp có phần mở rộng

Để 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ừ filepath

Ngà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

  • Facebook
  • Twitter
  • 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ố 8

Xin 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

Làm cách nào để lấy đường dẫn từ tên tệp trong Python?

Phương pháp 2. Tìm đường dẫn đến tệp đã cho bằng os. Để có được Thư mục làm việc hiện tại bằng Python, hãy sử dụng lệnh os. phương thức getcwd[] . Hàm này của mô-đun Python OS trả về chuỗi chứa đường dẫn tuyệt đối đến thư mục làm việc hiện tại.

Làm cách nào để tách đường dẫn và tên tệp Python?

split[] trong Python được dùng để Chia tên đường dẫn thành một cặp đầu và đuôi . Ở đây, đuôi là thành phần tên đường dẫn cuối cùng và đầu là mọi thứ dẫn đến đó. Trong ví dụ trên 'tệp. txt' của tên đường dẫn là đuôi và '/home/User/Desktop/' là đầu.

__ tệp __ trong Python là gì?

__file__ là biến chứa đường dẫn đến mô-đun hiện đang được nhập . Python tạo một biến __file__ cho chính nó khi nó chuẩn bị nhập một mô-đun.

Làm cách nào để đọc tên tệp trong thư mục Python?

Sử dụng hệ điều hành. hàm listdir[] . Hàm listdir['path'] trả về một danh sách chứa tên của các tệp và thư mục có trong thư mục được cung cấp bởi đường dẫn.

Chủ Đề