Chuyển đến nội dung chính

Cách kiểm tra tệp có tồn tại trong Python

Tìm hiểu cách kiểm tra tệp có tồn tại trong Python trong hướng dẫn đơn giản này

Khám phá cùng AI

Trong Python, kiểm tra xem một tệp có tồn tại trước khi sử dụng là việc thường gặp, đặc biệt khi bạn thao tác tệp theo chương trình như đọc hoặc ghi dữ liệu trên số lượng lớn tệp. Trong hướng dẫn này, tôi sẽ giới thiệu ba phương pháp hiệu quả để kiểm tra tệp có tồn tại trong Python.

Ba phương pháp kiểm tra tệp có tồn tại trong Python

Có nhiều cách để xác minh sự tồn tại của tệp trong Python, phù hợp với các kịch bản và phong cách lập trình khác nhau. Dưới đây, chúng ta sẽ khám phá ba phương pháp phổ biến có thể dùng để kiểm tra sự tồn tại của tệp.

Điều kiện tiên quyết: Hiểu thư mục hiện tại

Xuyên suốt hướng dẫn này, tôi sẽ minh họa cách xác minh xem tệp my_file.txt có được lưu trong thư mục my_data hay không. Tuy nhiên, trước khi làm điều đó, điều quan trọng là phải hiểu cấu trúc thư mục hiện tại của bạn trông như thế nào để có thể điều hướng hiệu quả. Dưới đây là một vài hàm tiêu chuẩn giúp bạn di chuyển qua các thư mục & thư mục con.

Lấy thư mục hiện tại bằng os.getcwd()

Để lấy thư mục làm việc hiện tại trong Python, bạn có thể dùng hàm getcwd() từ gói os. Hàm này trả về một chuỗi biểu diễn đường dẫn tới thư mục làm việc hiện tại. Ví dụ:

import os

# Get the current working directory
current_directory = os.getcwd()
print("The current working directory is:", current_directory)

Liệt kê tất cả tệp & thư mục trong thư mục của bạn bằng os.listdir()

Để liệt kê tất cả thư mục và tệp trong thư mục hiện tại trong Python, bạn có thể dùng hàm listdir() từ gói os. Hàm này trả về một danh sách chứa tên các mục trong thư mục được cung cấp bởi đường dẫn. Ví dụ, thư mục hiện tại của tôi chứa cả thư mục my_data và một tập dữ liệu tên là airbnb_data.csv. Ở đây, tôi dùng listdir() để liệt kê chúng:

import os

# Get the current working directory
current_directory = os.getcwd()

# List all files and folders in the current directory
entries = os.listdir(current_directory)
print(entries) # Returns ['my_data, 'airbnb_data.csv'] 

Phương pháp 1: Sử dụng hàm os.path.exists()

Bây giờ chúng ta đã biết cách điều hướng thư mục, hãy kiểm tra xem một số tệp có tồn tại không! Hàm os.path.exists() của mô-đun os là một cách đơn giản để kiểm tra sự tồn tại của tệp hoặc thư mục. Nó dễ dùng và dễ hiểu. Ở đây, tôi dùng câu lệnh if trả về “This file exists.” nếu tệp my_file.txt có trong my_data, và ”This file does not exist” nếu không có.

import os

# Specify the file path
file_path = 'my_data/my_file.txt'

# Check if the file exists
if os.path.exists(file_path):
   print("The file exists.")
else:
   print("The file does not exist.")

Phương pháp 2: Sử dụng hàm pathlib.Path.exists()

Với cách tiếp cận hiện đại và hướng đối tượng hơn, phương thức Path.exists() của gói pathlib cho phép bạn làm việc với đường dẫn tệp trực quan hơn, tích hợp liền mạch với các tính năng xử lý tệp của Python.

from pathlib import Path

# Create a Path object
file_path = Path('my_data/my_file.txt')

# Check if the file exists
if file_path.exists():
   print("The file exists.")
else:
   print("The file does not exist.")

Phương pháp 3: Dùng khối try-except khi mở tệp

Một cách khác là dùng khối try-except kết hợp với hàm open() để mở tệp đồng thời kiểm tra sự tồn tại của nó. Cách này kết hợp hiệu quả việc kiểm tra tồn tại với truy cập tệp.

try:
    # Attempt to open the file
    with open('my_data/my_file.txt', 'r') as file:
        print("The file exists.")
except FileNotFoundError:
    print("The file does not exist.")

Kết luận

Tóm lại, Python cung cấp nhiều phương pháp để kiểm tra một tệp có tồn tại trong thư mục hay không. Việc lựa chọn phương pháp phụ thuộc vào phong cách lập trình và trường hợp sử dụng của bạn! Để học thêm về Python, hãy xem hướng dẫn Cách thoát Python, hoặc Cách chuyển đổi chuỗi thành số nguyên trong Python.

Chủ đề