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

Có nhiều trường hợp trong quá trình viết mã, bạn sẽ phải xử lý các tệp. Trong nhiều tình huống mã hóa cạnh tranh, bạn sẽ bắt gặp các tệp đầu vào sẽ được cung cấp cho bạn để thử nghiệm. Xử lý tệp trong bất kỳ ngôn ngữ lập trình nào là một kỹ năng thiết yếu mà mọi lập trình viên phải học

Bước đầu tiên trong việc xử lý tệp là có thể phân tích tên tệp từ người dùng. Khi một tệp được cho là sẽ được đọc trong một chương trình, làm cách nào để chúng tôi truy cập tệp đó?

Tên tệp và đường dẫn là gì?

Tên tệp và đường dẫn là hai thuật ngữ được liên kết với việc xử lý tệp. Như tên gợi ý, tên tệp đề cập đến tên của tệp thực trong khi đường dẫn đề cập đến vị trí chính xác của tệp

Nội dung của một tệp chỉ có thể được truy cập bằng tên của nó. Nhưng hệ điều hành hoặc phần mềm điều hành mà chúng tôi sử dụng không lưu trữ tên tệp dưới dạng một thực thể duy nhất.  

Ví dụ: nếu chúng tôi muốn đến trường đại học của mình, thì trường đại học của chúng tôi là tên tệp và tập hợp các hướng cần thiết để đến đó là đường dẫn. Chúng ta hãy lấy ví dụ tương tự mà chúng ta đã lấy ở trên để hiểu khái niệm này

C. \Users\User1\Documents\file1. txt

Ở đây bạn nghĩ tên tệp là gì? . txt. Một cách dễ dàng để tìm ra tên tệp là tìm phần có phần mở rộng. Phần mở rộng không là gì ngoài sự kết hợp của một vài chữ cái sau tên tệp

Trong ví dụ này, tệp1. txt là tên tệp vì nó có phần mở rộng tệp. txt. Các tệp khác nhau có các phần mở rộng khác nhau dựa trên loại tệp của chúng. Một tệp văn bản sẽ là. txt, một bài thuyết trình PowerPoint sẽ là. ppt, một tài liệu từ sẽ là. docx, v.v.

Do đó, bằng cách tìm phần mở rộng, chúng ta có thể tìm thấy tên tệp. Nhưng còn phần còn lại thì sao?

Trong ví dụ này, nó cho chúng ta biết rằng file1. txt được lưu trữ bên trong thư mục Tài liệu, thư mục này được lưu trữ bên trong thư mục User1, chính thư mục này được lưu trữ bên trong thư mục Người dùng được lưu trữ cuối cùng trên ổ C của máy tính. Toàn bộ tên, phần còn lại và tên tệp được gọi là Đường dẫn

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

03 Phương pháp lấy tên file từ đường dẫn trong Python

Có ba phương pháp mà chúng ta có thể sử dụng để lấy tên tệp từ một đường dẫn nhất định trong python. Một số phương pháp này sử dụng các chức năng tích hợp sẵn, một số phương pháp khác sử dụng mô-đun. Mô-đun là tập hợp các hàm được xác định trước mà chúng ta có thể đưa trực tiếp vào mã của mình

01] Hàm split trong python

Bất kỳ đường dẫn nào được chuyển đến trình thông dịch sẽ là một giá trị chuỗi. Một giá trị chuỗi trong python không là gì ngoài sự kết hợp của các ký tự. Khi một đường dẫn được truyền dưới dạng đầu vào, nó sẽ giống như C. \Users\User1\Documents\file1. txt

Bây giờ chúng ta có thể sử dụng hàm split có sẵn trong python để tách tên đường dẫn. Chúng tôi sẽ chia tên đường dẫn ở mỗi \. Khi chúng tôi làm điều đó, chúng tôi sẽ có một bộ dữ liệu chứa tất cả các từ nằm giữa các dấu gạch chéo. Sau đó, chúng tôi in phần tử cuối cùng của bộ dữ liệu và chúng tôi nhận được tên tệp có phần mở rộng

Chúng ta có thể tách thêm phần tử cuối cùng ở dấu chấm [. ] để chỉ lấy tên tệp chứ không phải phần mở rộng. Việc triển khai mã cho phương pháp này để trích xuất tên tệp từ đường dẫn được hiển thị bên dưới

file_path = "C:/Users/User1/Documents/file1.txt"
file_name = file_path.split["/"][-1]
print[file_name]

 

đầu ra

file1.txt

 

02] Mô-đun hệ điều hành trong python

Như tên gợi ý, mô-đun hệ điều hành trong python cung cấp các chức năng và phương thức đặc biệt cho chức năng của hệ điều hành như trích xuất tên tệp. Chúng ta có thể sử dụng hệ điều hành. con đường. hàm tên cơ sở để lấy tên tệp từ đường dẫn do người dùng cung cấp

Hơn nữa, chúng ta có thể sử dụng os. con đường. chức năng splitext để lấy tên tệp mà không cần phần mở rộng. Việc triển khai mã bằng mô-đun os được đưa ra bên dưới

import os
file_path = "C:/Users/User1/Documents/file1.txt"
full_name = os.path.basename[file_path]
file_name = os.path.splitext[full_name]
print[full_name]
print[file_name[0]]

 

đầu ra

file1.txt
file1

 

03] Sử dụng mô-đun Pathlib trong python

Bên cạnh thư viện OS, python còn cung cấp một thư viện chuyên xử lý các loại đường dẫn khác nhau do các hệ điều hành khác nhau cung cấp. Bên trong thư viện pathlib, chúng ta có thể sử dụng hàm Path để lấy tên tệp từ một đường dẫn nhất định

Hàm Đường dẫn có hai thuộc tính. gốc và tên. Thuộc tính gốc cung cấp tên tệp không có phần mở rộng và thuộc tính name cung cấp tên tệp đầy đủ cùng với phần mở rộng. Việc triển khai mã bằng hàm đường dẫn được hiển thị bên dưới

from pathlib import Path
file_path = "C:/Users/User1/Documents/file1.txt"
full_name = Path[file_path].name
file_name = Path[file_path].stem
print[full_name]
print[file_name]

 

đầu ra

file1.txt
file1

 

Bây giờ bạn có thể tìm hiểu cách ghi đè tệp trong python tại đây

mang đi

Tên tệp và đường dẫn rất quan trọng để có thể đọc và phân tích cú pháp đầu vào từ một tệp. Không có tên tệp thì không thể đọc nội dung cũng như không thể thực hiện các thao tác trên tệp. Chúng ta đã học 03 cách lấy tên file từ đường dẫn trong python. Chúng tôi cũng đã cung cấp mã nguồn để tự làm. Thử ngay bây giờ

Làm cách nào để trích xuất tên tệp từ đường dẫn?

Để trích xuất tên tệp từ tệp, chúng tôi sử dụng phương thức “GetFileName[]” của lớp “Đường dẫn” . Phương thức này được sử dụng để lấy tên tệp và phần mở rộng của chuỗi đường dẫn đã chỉ định. Giá trị trả về là null nếu đường dẫn tệp là null. cú pháp. chuỗi tĩnh công khai GetFileName [đường dẫn chuỗi];

Làm cách nào để lấy tất cả tên tệp từ đường dẫn trong 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.

Làm cách nào để trích xuất tên tệp từ đường dẫn không có phần mở rộng trong Python?

Bạn chỉ cần tìm chỉ mục của dấu chấm đầu tiên trong tên cơ sở rồi cắt tên cơ sở để chỉ lấy tên tệp mà không cần phần mở rộng.

Chủ Đề