Python lấy tên tệp từ đường dẫn

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để lấy tên tệp từ đường dẫn cho một tệp nhất định. Bạn sẽ học cách thực hiện việc này bằng Windows, Mac và Linux. Con đường bao gồm ba phần chính. thư mục, tên tệp và phần mở rộng. Thư mục cho chúng ta biết vị trí của tệp, tên tệp cho chúng ta biết tệp được gọi là gì và phần mở rộng là loại tệp. Biết cách lấy tên tệp có thể là một kỹ năng quan trọng khi bạn đang cố xử lý các tệp khác nhau

Bạn sẽ học cách lấy tên tệp từ một đường dẫn Python bằng cách sử dụng thư viện os, phương thức chuỗi .split[] và thư viện pathlib phổ biến

Câu trả lời nhanh. Sử dụng os splittext[] hoặc pathlib

Mục lục

Đường dẫn khác nhau như thế nào trong Windows và Mac/Linux?

Đường dẫn trong Windows khác với trong hệ điều hành Mac và Linux. Điểm khác biệt chính là dấu tách đường dẫn mà hệ điều hành sử dụng. Dấu tách đường dẫn phân tách các thư mục với nhau và cho phép chúng tôi xác định đường dẫn của tệp

Hệ điều hành dựa trên Windows sử dụng dấu gạch chéo ngược \ để phân tách các đường dẫn. Trong khi đó, hệ điều hành Linux và Mac sử dụng dấu gạch chéo / để phân tách các đường dẫn

Vấn đề với điều này là dấu gạch chéo ngược thực sự là ký tự thoát. Do đó, có thể hữu ích khi làm việc với các đường dẫn, chẳng hạn như với các phương thức chuỗi, để biến chuỗi chứa đường dẫn của chúng ta thành một chuỗi thô. Điều này có thể được thực hiện bằng cách thêm chữ cái

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
0 vào trước một chuỗi

Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? . Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi tại đây

Sử dụng Phương thức os splittext trong Python để lấy tên tệp từ một đường dẫn

Thư viện os tích hợp đi kèm với một mô-đun hữu ích, mô-đun

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
2, cho phép chúng tôi làm việc với các đường dẫn hệ thống. Mô-đun
# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
2 đi kèm với một chức năng hữu ích, chức năng
# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
4. Điều này trả về tên cơ sở của tệp, nghĩa là nó cũng trả về phần mở rộng của tệp

Hãy xem cái này trông như thế nào

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename = os.path.basename[path]

print[filename]

# Returns: SomeImportantFile.py

Chúng ta có thể thấy ở đây tập lệnh đã trả về tên tệp cũng như phần mở rộng của tệp

Lấy tên tệp từ một đường dẫn không có phần mở rộng

Nếu chúng tôi muốn xóa tiện ích mở rộng, chúng tôi có thể viết như sau

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile

Điều này hoạt động vì khi chúng tôi tách văn bản và lấy mục đầu tiên, chúng tôi chỉ bao gồm tên tệp chứ không bao gồm cả phần mở rộng. Chúng ta chuyển đối số thứ hai vào hàm .split[] dưới dạng đối số

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
6 để cho Python biết tần suất chia tách văn bản

Trong phần tiếp theo, bạn sẽ học cách sử dụng phương thức chuỗi .split[] để lấy tên tệp từ một đường dẫn trong Python

Bạn muốn tìm hiểu cách lấy phần mở rộng của tệp bằng Python?

Sử dụng phân tách Python để lấy tên tệp từ đường dẫn

Chúng ta có thể lấy tên tệp từ một đường dẫn chỉ bằng các phương thức chuỗi, cụ thể là phương thức

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
8. Phương pháp này sẽ thay đổi một chút tùy thuộc vào hệ điều hành bạn sử dụng

Trong ví dụ bên dưới, chúng tôi sẽ làm việc với đường dẫn Mac và lấy tên tệp

________số 8_______

Điều này trả về tên tệp có phần mở rộng. Nếu chúng tôi chỉ muốn trả lại tên tệp mà không có phần mở rộng, chúng tôi chỉ cần tách tên tệp một lần nữa, lần này sử dụng ký tự

# Get filename from path using os
import os

path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = os.path.basename[path]
filename = filename_with_extension.split['.', 1][0]

print[filename]

# Returns: SomeImportantFile
9

Chúng ta hãy xem nó trông như thế nào

# Get filename from path using string methods
path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename_with_extension = path.split['/'][-1]
filename = filename_with_extension.split['.'][0]

print[filename]

# Returns: SomeImportantFile

Trong phần tiếp theo, bạn sẽ học cách sử dụng thư viện pathlib hướng đối tượng để lấy tên tệp dưới dạng đường dẫn Python

Cần tự động đổi tên tập tin? . Hơn cả một người học trực quan, toàn bộ hướng dẫn cũng có sẵn dưới dạng video trong bài đăng

Sử dụng Python Pathlib để lấy tên tệp từ đường dẫn

Thư viện pathlib sử dụng một cách tiếp cận hơi khác để xử lý các đường dẫn so với các phương pháp khác mà chúng tôi đã đề cập cho đến nay. Trên thực tế, nó sử dụng cách tiếp cận hướng đối tượng để xử lý đường dẫn tệp. Điều này thật tuyệt, vì nó có nghĩa là khi chúng ta tạo một đối tượng đường dẫn, chúng ta có thể dễ dàng truy cập các thuộc tính khác nhau về nó

Một trong những thuộc tính này là thuộc tính

# Get filename from path using string methods
path = "/Users/datagy/Desktop/SomeImportantFile.py"
filename = path.split['/'][-1]

print[filename]

# Returns: SomeImportantFile.py
2, cung cấp tên tệp của đối tượng đường dẫn được cung cấp

Hãy xem làm thế nào chúng ta có thể thực hiện điều này trong Python

# Get filename from path using pathlib
import pathlib
path = "/Users/datagy/Desktop/SomeImportantFile.py"

path_object = pathlib.Path[path]
filename = path_object.stem

print[filename]

# Returns: SomeImportantFile

Cách tiếp cận này hơi khác một chút và đối với người dùng không quen với thiết kế hướng đối tượng, nó có vẻ hơi lạ. Nhưng đó là một cách tiếp cận rất dễ dàng và trực quan, một khi bạn đã quen với nó

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Phần kết luận

Trong bài đăng này, bạn đã học cách sử dụng Python để lấy tên tệp từ một đường dẫn, trong Windows, Mac và Linux. Bạn đã học cách sử dụng thư viện os hữu ích để thực hiện điều này, cũng như một số phương thức chuỗi phức tạp hơn. Bạn cũng đã học cách sử dụng thư viện pathlib hướng đối tượng, hiện đại hơn để lấy tên tệp từ một đường dẫn

Chủ Đề