Làm cách nào để kiểm tra xem tệp không tồn tại trong python?

Trong hướng dẫn ngắn này, chúng ta xem xét cách kiểm tra xem tệp có tồn tại trong Python không. Chúng tôi xem xét lý do tại sao việc kiểm tra sự tồn tại của tệp trước khi thực hiện bất kỳ thao tác nào trên chúng lại quan trọng và các phương pháp khác nhau được sử dụng để xác nhận xem tệp có tồn tại trong Python hay không.

Mục lục - Python kiểm tra xem tệp có tồn tại không

  1. Tại sao chúng ta cần kiểm tra xem một tệp có tồn tại không?
  2. Các phương pháp kiểm tra xem tệp có tồn tại không
    • Sử dụng mô-đun hệ điều hành
      • hệ điều hành. đường dẫn. phương thức isfile[]
      • hệ điều hành. đường dẫn. phương thức tồn tại[]
      • hệ điều hành. đường dẫn. phương thức isdir[]
    • Sử dụng mô-đun pathlib
      • đường dẫn. đường dẫn. phương thức tồn tại[]
      • đường dẫn. phương thức is_file[]
    • Sử dụng mô-đun Glob
    • Sử dụng quy trình phụ [chỉ dành cho Unix]
    • Phương pháp xử lý ngoại lệ
  3. Bớt tư tưởng

Tại sao chúng ta cần kiểm tra xem một tệp có tồn tại không?

Chúng ta có thể thực hiện các thao tác khác nhau trong Python. Sau khi tạo tệp, chúng ta có thể thực hiện các thao tác trên tệp để đọc, cập nhật, sao chép hoặc thậm chí xóa chúng. Nếu chúng tôi viết mã để thực hiện bất kỳ thao tác nào trong số này trên một tệp và tệp không tồn tại, thì chúng tôi sẽ cần ghi đè mã sau khi đảm bảo rằng tệp tồn tại ở đường dẫn đã xác định

Vì vậy, để thực hiện các chức năng trên một tệp và ngăn chương trình của chúng tôi bị lỗi, trước tiên chúng tôi cần đảm bảo rằng tệp đó tồn tại

Có nhiều phương pháp khác nhau để làm điều này. Chúng ta có thể sử dụng các thư viện Python hoặc có thể sử dụng các phương thức khác cho cùng một. Chúng ta hãy xem xét từng cái một

Các phương pháp kiểm tra xem tệp có tồn tại không

Sử dụng mô-đun os

Os là một mô-đun Python tích hợp có chứa các chức năng để tương tác với hệ điều hành. Sử dụng os cho phép chúng tôi truy cập các chức năng của hệ điều hành. hệ điều hành. đường dẫn là một mô-đun con của os trong Python. Điều này được sử dụng để thao tác tên đường dẫn chung

hệ điều hành. đường dẫn có hai phương thức- isfile [] và tồn tại [] xuất ra 'True' hoặc 'False' tùy thuộc vào việc tệp có tồn tại hay không

hệ điều hành. đường dẫn. phương thức isfile[]-

Kiểm tra xem đường dẫn đã xác định có phải là tệp thông thường hiện có hay không

Cú pháp như sau

os.path.isfile[path]
Tham số- Đường dẫn. đại diện cho đường dẫn đến tệp
Kiểu trả về. 'Đúng' hoặc 'Sai' tùy thuộc vào việc tệp có tồn tại hay không. Ví dụ-
import os

path= 'C:\Users\filename.txt'

isFile = os.path.isfile[path]

print [isFile]

Nếu tệp có tên 'filename. txt', đầu ra sẽ là 'True', nếu không thì 'Sai'.

hệ điều hành. đường dẫn. phương thức tồn tại[]-

Kiểm tra xem đường dẫn đã xác định có tồn tại hay không

Cú pháp như sau.

os.path.exists[path]
Thông số- Đường dẫn. đại diện cho đường dẫn đến tệp
Kiểu trả về. 'Đúng' hoặc 'Sai' tùy thuộc vào việc tệp có tồn tại hay không. Ví dụ-
import os

path= 'C:\Users\filename.txt'

isExist = os.path.exists[path]

print[isExist]

Nếu tệp có tên 'filename. txt', đầu ra sẽ là 'True', nếu không thì 'Sai'.

hệ điều hành. đường dẫn. phương thức isdir[]-

Kiểm tra xem đường dẫn đã xác định có phải là thư mục hiện có không

Cú pháp như sau

os.path.isdir[path]
Thông số- Đường dẫn. đại diện cho đường dẫn đến tệp
Kiểu trả về. 'True' hoặc 'False' tùy thuộc vào việc tệp có tồn tại hay không. Ví dụ-
import os.path

path= 'C:\Users\filename.txt'

isDir = os.path.exists[path]

print[isDir]
Ở đây, vì tệp của chúng tôi không phải là một thư mục, chúng tôi sẽ nhận được đầu ra là "Sai".

Lưu ý rằng trước khi sử dụng hệ điều hành. đường dẫn. phương thức isfile[], hệ điều hành. đường dẫn. phương thức tồn tại [] hoặc hệ điều hành. đường dẫn. phương thức isdir[], hệ điều hành. mô-đun đường dẫn nên được nhập khẩu.

Sử dụng mô-đun pathlib

Pathlib là giao diện hướng đối tượng tích hợp sẵn của python, cung cấp API đối tượng để làm việc với các tệp và thư mục. Giống như mô-đun os, có hai cách để tìm xem mô-đun có tồn tại hay không bằng cách sử dụng mô-đun pathlib

đường dẫn. đường dẫn. phương thức tồn tại[]

Ví dụ-
import pathlib

file = pathlib.Path["C:/Users/filename.txt"]

if file.exists[]:
    print ["File exist"]
else:
    print ["File does not exist"]

pathlib. Phương thức is_file[]

Ví dụ-
import pathlib

file = pathlib.Path["C:/Users/filename.txt"]

if file.is_file[]:
    print ["File exist"]
else:
    print ["File does not exist"]

Sự khác biệt giữa mô-đun os và mô-đun pathlib là mô-đun os. mô-đun đường dẫn cần lồng hàm, trong khi các mô-đun pathlib Lớp đường dẫn cho phép chúng ta xâu chuỗi các phương thức và thuộc tính trên các đối tượng Đường dẫn để có được biểu diễn đường dẫn tương đương. Mô-đun pathlib có các chức năng tương tự như mô-đun os để tìm xem tệp có tồn tại không.

Sử dụng mô-đun Glob

Mô-đun toàn cầu được sử dụng để tìm kiếm các tệp trong đó tên tệp khớp với một mẫu nhất định bằng cách sử dụng các ký tự đại diện. Điều này cũng trả về các giá trị "Đúng" hoặc "Sai" để cho biết tệp có tồn tại hay không.
Ví dụ-
import glob

if glob.glob[r"C:\Users\filename.txt"]:
  print ["File exist"]
  
else:
  print["File does not exist"]

Sử dụng quy trình con [chỉ dành cho Unix]

Nếu bạn đang sử dụng máy dựa trên Unix, phương pháp này có thể áp dụng cho bạn. Có các lệnh kiểm tra trong mô-đun quy trình con có thể được sử dụng để tìm xem tệp hoặc thư mục có tồn tại hay không.
Bước đầu tiên là đảm bảo rằng đường dẫn đến tệp/thư mục tồn tại, sử dụng "test -e". Nếu đường dẫn tồn tại, thì chúng tôi sẽ kiểm tra sự tồn tại của tệp/thư mục bằng cách sử dụng "test -f" hoặc "test -d" tương ứng.
______9Nếu đầu ra là "True", thì chúng tôi sẽ kiểm tra tệp.
______10

Phương pháp xử lý ngoại lệ

Trong các câu lệnh thử và ngoại trừ, chúng tôi có mã được viết dưới "thử" và câu lệnh "ngoại trừ" kiểm tra lỗi mã trong "thử". Nếu có bất kỳ lỗi nào, khối "ngoại trừ" sẽ được chạy. Do đó, chúng tôi kiểm tra xem tệp có tồn tại hay không bằng cách mở tệp bằng câu lệnh "try". Nếu tệp không có, IOError Exception xảy ra, chúng tôi có thể in đầu ra để cho biết tệp không tồn tại.
Bước đầu tiên là đảm bảo rằng đường dẫn đến tệp/thư mục tồn tại, sử dụng "test -e". Nếu đường dẫn tồn tại, thì chúng tôi sẽ kiểm tra sự tồn tại của tệp/thư mục bằng cách sử dụng "test -f" hoặc "test -d" tương ứng.
Ví dụ-
import os

path= 'C:\Users\filename.txt'

isFile = os.path.isfile[path]

print [isFile]
1Một cách khác để sử dụng phương pháp thử và ngoại trừ được trình bày trong ví dụ bên dưới. Ở đây, nếu chúng ta cố mở một tệp không tồn tại, Python sẽ báo lỗi FileNotFoundError.
______12

Trong cả hai trường hợp, đầu ra sẽ là "Tệp tồn tại" hoặc "Tệp không tồn tại" tùy thuộc vào việc tệp có tồn tại hay không

Bớt tư tưởng

Trước khi thực hiện bất kỳ thao tác nào trên tệp, bạn nên kiểm tra xem tệp có tồn tại hay không. Điều này sẽ tránh ghi đè mã trong trường hợp không có tệp. Ở đây, chúng ta đã thấy nhiều phương pháp khác nhau để kiểm tra xem tệp có tồn tại hay không

Phương pháp đầu tiên trong số đó thường được sử dụng và có thể được khuyến nghị cho người mới bắt đầu. Khi các thư viện không được sử dụng, chúng ta có thể sử dụng phương thức thử và ngoại trừ hoặc phương thức xử lý ngoại lệ

Tại sao Python nói tệp không tồn tại?

Lỗi FileNotFound của Python. [Errno 2] Không có lỗi thư mục hoặc tệp như vậy thường được đưa ra bởi thư viện os. Lỗi này cho bạn biết rằng bạn đang cố truy cập một tệp hoặc thư mục không tồn tại . Để khắc phục lỗi này, hãy kiểm tra xem bạn có đang tham chiếu đúng tệp hoặc thư mục trong chương trình của mình không.

Hàm nào được sử dụng để kiểm tra xem tệp có tồn tại trong Python không?

Sự hiện diện của một tệp nhất định trong máy tính có thể được xác minh bằng hai cách sử dụng mã Python. Một cách là sử dụng hàm isfile[] của os. mô-đun đường dẫn. Hàm trả về true nếu tệp tại đường dẫn đã chỉ định tồn tại, nếu không, nó trả về false

Chủ Đề