Làm cách nào để kiểm tra xem tệp đã tồn tại trong python chưa?

Cần phải tìm ra bất kỳ tệp nào tồn tại hay không cho nhiều mục đích lập trình. Ví dụ: điều quan trọng là phải biết tệp tồn tại trước khi mở tệp để đọc nếu không nó sẽ hiển thị thông báo lỗi. Nếu bạn muốn ngăn ghi đè lên bất kỳ tệp hiện có nào thì bạn phải tìm hiểu xem tệp đã tồn tại hay chưa trước khi ghi. Có rất nhiều hàm có sẵn trong python để kiểm tra sự tồn tại của bất kỳ tệp nào. Các cách khác nhau để kiểm tra bất kỳ tệp nào tồn tại hay không được hiển thị trong hướng dẫn này

Kiểm tra xem tệp có tồn tại bằng os không. con đường. isfile[]

os chứa các phương thức khác nhau để kiểm tra bất kỳ tệp hoặc thư mục nào tồn tại hay không. Ví dụ sau đây os. con đường. Phương thức isfile[] của module os dùng để kiểm tra file có tồn tại hay không. Tại đây, người dùng chỉ có thể cung cấp tên tệp nếu tệp tồn tại ở vị trí hiện tại hoặc tên tệp có đường dẫn làm đầu vào. Tiếp theo, hệ điều hành. con đường. Phương thức isfile[] được sử dụng để kiểm tra đường dẫn có hợp lệ hay không và tên tệp được cung cấp là tệp hoặc liên kết tượng trưng của tệp

#. /usr/bin/env python3
# Nhập mô-đun hệ điều hành
nhập os

# .
fn = input["Enter a filename to read:\n "]
# Kiểm tra xem tệp có tồn tại hay không
if os.đường dẫn . isfile[ fn ] .
    # in thông báo nếu tệp tồn tại
    in ["File exists"]
else:
    # In thông báo nếu tệp không tồn tại
      in ["File does not exist"]

đầu ra

Trong đầu vào đầu tiên, tên tệp không hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp không tồn tại'. Trong đầu vào thứ hai, tên tệp hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp tồn tại'

Kiểm tra xem tệp có tồn tại bằng os không. con đường. tồn tại[]

Trong đoạn script sau, os. con đường. phương thức tồn tại [] được sử dụng để kiểm tra sự tồn tại của bất kỳ tệp nào. Phương thức được sử dụng để kiểm tra bất kỳ đường dẫn nào là tệp, thư mục hoặc liên kết tượng trưng. Ở đây, nó hoạt động tương tự như ví dụ trước

#. /usr/bin/env python3
# Nhập mô-đun hệ điều hành
nhập os

# .
fn = input["Enter a filename to read:\n "]
# Kiểm tra đường dẫn tệp có tồn tại hay không
if os.đường dẫn . tồn tại[ fn ] .
    # in thông báo nếu đường dẫn tồn tại
    in ["File exists"]
else:
    # In thông báo nếu đường dẫn tệp không tồn tại
      in ["File does not exist"]

đầu ra

Trong đầu vào đầu tiên, đường dẫn tệp không hợp lệ được cung cấp làm đầu vào và hệ điều hành. con đường. tồn tại [] trả về sai. Đầu ra hiển thị 'Tệp không tồn tại'. Trong đầu vào thứ hai, một đường dẫn tệp hợp lệ được cung cấp làm đầu vào và hệ điều hành. con đường. tồn tại [] trả về đúng. Đầu ra hiển thị 'Tệp tồn tại'

Kiểm tra xem tệp có tồn tại hay không bằng cách sử dụng is_file[] của mô-đun pathlib

mô-đun pathlib là một mô-đun hữu ích khác của python để kiểm tra bất kỳ tệp hoặc thư mục nào tồn tại hay không. Nó chứa nhiều phương thức khác nhau như mô-đun os để kiểm tra đường dẫn, tệp hoặc thư mục. Đoạn script sau đây cho thấy việc sử dụng phương thức is_file[] của mô-đun này để kiểm tra tệp có tồn tại hay không. Tên tệp sẽ được lấy từ người dùng như ví dụ trước. Đầu ra sẽ được hiển thị dựa trên giá trị trả về của phương thức is_file[]. Nếu tập tin tồn tại thì

nội dung của tập tin sẽ hiển thị

#. /usr/bin/env python3
từ pathlib nhập Đường dẫn
# Take a filename
fn = input["Enter a filename to read:\n "]

nếu . [fn].is_file[] .
    # in thông báo nếu đường dẫn tệp tồn tại
    in ["\nFile exist"]
   print["The content of the file shown below:" ]
    # Mở tệp để đọc
   fh = open[fn]
   # Print the file content
   print[fh.đọc[]]
khác . :
    # In thông báo nếu đường dẫn tệp không tồn tại
    in ["File does not exist"]

đầu ra

Trong đầu vào đầu tiên, tên tệp không hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp không tồn tại'. Trong đầu vào thứ hai, tên tệp hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp tồn tại' và nội dung của tệp được hiển thị

Kiểm tra xem tệp có tồn tại hay không bằng cách sử dụng tồn tại [] của mô-đun pathlib

mô-đun pathlib cũng chứa phương thức tồn tại [] giống như mô-đun os. Ví dụ sau đây cho thấy việc sử dụng phương pháp này. Nếu đường dẫn tệp tồn tại thì nó sẽ hiển thị nội dung của tệp

#. /usr/bin/env python3
nhập pathlib
# Lấy tên tệp
fn . = input["Enter a filename to read:\n "]
đường dẫn . pathlib.Đường dẫn[ fn ]
if . path.tồn tại[] .
  # in thông báo nếu đường dẫn tệp tồn tại
  in ["\nFile exist"]
  print["The content of the file shown below:" ]
  # Mở tệp để đọc
  fh = open[fn]
  # Print the file content
  print[fh.đọc[]]
khác . :
  # In thông báo nếu đường dẫn tệp không tồn tại
  in ["File does not exist"]

đầu ra

Trong đầu vào đầu tiên, đường dẫn tệp không hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp không tồn tại'. Trong đầu vào thứ hai, đường dẫn tệp hợp lệ được cung cấp làm đầu vào và đầu ra hiển thị 'Tệp tồn tại' và nội dung của tệp được hiển thị

Kiểm tra xem tệp có tồn tại bằng xử lý ngoại lệ không

Sử dụng tính năng xử lý ngoại lệ của python, bạn có thể dễ dàng kiểm tra tệp có tồn tại hay không. Tập lệnh sau đây cho biết cách bạn có thể kiểm tra tệp tồn tại mà không cần nhập bất kỳ mô-đun nào. Sau khi lấy tên tệp, tệp sẽ được mở trong khối thử. Nếu tệp không tồn tại thì nó sẽ tạo ngoại lệ và in thông báo lỗi tùy chỉnh

#. /usr/bin/env python3
# Lấy tên tệp
fn = input . ["Enter a filename to read:\n "]
thử .
    # Mở tệp để đọc
   fileHandler = open[fn]
   # Print the following message if no exception occurs
   print["File exists"]
   # close the file
   fileHandler.đóng[]
ngoại trừ FileNotFoundError.
    # In thông báo sau nếu xảy ra lỗi
      in["File is not exist or accessible"]
finally:
    # in thông báo kết thúc
    in["End of the program"]

đầu ra

Đầu ra sau đây sẽ xuất hiện nếu tên tệp không hợp lệ được cung cấp và tên tệp hợp lệ được cung cấp

Phần kết luận

Các cách khác nhau để kiểm tra tệp có tồn tại hay không trong python được mô tả trong hướng dẫn này bằng các loại ví dụ khác nhau. Các mô-đun Python được sử dụng trong một số tập lệnh và xử lý ngoại lệ được sử dụng trong tập lệnh tại đây. Người dùng có thể làm theo bất kỳ cách nào để kiểm tra tệp có tồn tại hay không

Chủ Đề