IOError Python

Tốt. Như bạn có thể thấy, khi chúng ta làm việc với các tệp văn bản, có thể xảy ra sự cố. Ví dụ: một tệp chúng tôi đang cố mở trên máy tính của người dùng có thể không tồn tại hoặc tệp có thể chứa một chữ cái khi chúng tôi mong đợi một số. Những tình huống như vậy được gọi là ngoại lệ [trường hợp ngoại lệ, hoặc bất ngờ]

Theo mặc định, Python sẽ hiển thị loại thông báo lỗi của riêng nó và dừng chương trình khi gặp ngoại lệ, như bạn có thể thấy trong thử nghiệm. Chúng tôi có thể thay đổi hành vi đó bằng cách sử dụng các khối try-except, cho phép mã của chúng tôi xử lý ngoại lệ. Hãy xem

try:
  with open['misssing_file.txt', 'r'] as file:
    print[file.read[]]
except IOError:
  print['Could not read the file.']

Trong đoạn mã trên, chúng tôi cố gắng thực thi mã trong khối try. Mã mở tệp và in nội dung của nó ra bàn điều khiển. Chúng tôi biết mã này có thể thất bại. Nói một cách cụ thể, chúng tôi hy vọng rằng một

Could not read the file.
0 có thể xảy ra. IO là viết tắt của Đầu vào-Đầu ra. Lỗi Đầu vào-Đầu ra là lỗi liên quan đến việc xử lý tệp – chẳng hạn như đĩa đầy hoặc tệp không tồn tại – và các lỗi đầu vào khác của người dùng. Nếu ứng dụng đưa ra lỗi IO, việc thực thi khối try bị gián đoạn và Python chuyển sang khối except. Trong trường hợp này, chúng tôi in thông báo lỗi tùy chỉnh của mình

Could not read the file.

Khi chúng tôi xử lý một ngoại lệ trong khối except, việc thực thi chương trình không bị gián đoạn – mọi mã tiếp theo vẫn có thể được thực thi

tổ chức. con trăn. lõiPyIOError

Phương pháp phổ biến của Py

  • java2py

    Sử dụng PyObjectAdapter được chuyển đến PySystemState#initialize để biến o thành PyObject

  • tojava
  • getSystemState
  • Lỗi Java
  • LoạiLỗi
  • newString
  • setSystemState
  • Nhập Lỗi
  • Giá trịError
  • getFrame
  • mã vận hành
  • Khẳng địnhLỗi
  • mã vận hành,
  • Xác nhận Lỗi,
  • Lỗi thuộc tính,
  • Lỗi bộ đệm,
  • Khấu haoCảnh báo,
  • EOFLỗi,
  • Lỗi chỉ mục,
  • Lỗi phím,
  • Bàn PhímNgắt

Phổ biến trong Java

  • Cập nhật cơ sở dữ liệu bằng cách sử dụng câu lệnh chuẩn bị SQL
  • getOriginalFilename [Tệp nhiều phần]

    Trả lại tên tệp gốc trong hệ thống tệp của khách hàng. Điều này có thể chứa thông tin đường dẫn tùy thuộc vào

  • startActivity [Hoạt động]
  • setScale [Số thập phân lớn]
  • URI [java. mạng]

    Mã định danh tài nguyên thống nhất xác định tài nguyên trừu tượng hoặc vật lý, như được chỉ định bởi RFC

  • UUID [java. sử dụng]

    UUID là một đại diện bất biến của mã định danh duy nhất toàn cầu 128 bit [UUID]. có nhiều

  • JFrame [javax. xích đu]
  • JTextField [javax. xích đu]
  • StringUtils [org. apache. của chung. lang]

    Các thao tác trên java. lang thang. Chuỗi không an toàn. * IsEmpty/IsBlank - kiểm tra xem Chuỗi có chứa

  • Người ghi nhật ký [tổ chức. apache. log4j]

    Đây là lớp trung tâm trong gói log4j. Hầu hết các hoạt động ghi nhật ký, ngoại trừ cấu hình, đều d

  • Plugin IntelliJ tốt nhất

Trong Python, IOError là phân lớp của Môi trườngError. IOError xảy ra khi một thao tác đầu vào/đầu ra như tệp open[] hoặc một phương thức hoặc một câu lệnh in đơn giản không thành công do lý do IO như “Đĩa đầy” hoặc “Không tìm thấy tệp”

Ví dụ về Python IOError

Trong đoạn mã dưới đây, xyz. txt không tồn tại do đó chương trình sẽ ném ngoại lệ IOError. Xử lý IOError này trong chương trình thông qua khối try-ngoại trừ

import sys
def readFile[]:
    try:
        f = open [ "xyz.txt", 'r' ]
    except IOError as e:
        print [e]
readFile[]

đầu ra

[Errno 2] No such file or directory: 'xyz.txt'

Thông báo ngoại lệ IOError này sẽ chỉ in khi xảy ra ngoại lệ

Phần kết luận

Trong Python, IOError là kết quả của tên tệp hoặc đường dẫn tệp không chính xác. IOError xảy ra trong nhiều trường hợp và những điều kiện này có thể được xử lý bằng cách sử dụng thử ngoại trừ khối mã. Cách thực hiện để xử lý IOError bằng try-ngoại trừ có thể kiểm tra bằng ví dụ trên

Trong bài viết này, chúng ta sẽ tìm hiểu về cách xử lý IOErrors trong Python Giả sử chúng ta đang thực hiện một phép toán trên một ví dụ cụ thể. Điều này có thể bi thảm hơn khi nó kéo dài. Vấn đề chính xảy ra khi chúng ta bị mắc kẹt ở đâu đó. Với rất nhiều nỗ lực, chúng tôi giải quyết nó. Nhưng, câu trả lời là không thỏa đáng hoặc nó là sai. Có hai khả năng cho việc này

  1. Vấn đề chúng tôi đang cố gắng giải quyết được xây dựng không chính xác ngay từ đầu
  2. Hoặc chúng tôi đang đưa ra thông tin đầu vào sai trong toàn bộ quy trình hoặc các bước

Toàn bộ sự việc trong một từ đơn giản là lỗi. Chúng có thể có nhiều loại trong các điều kiện khác nhau. Nó phụ thuộc vào chính vấn đề. Theo cách tương tự, có lỗi trong lập trình. Chúng là các dạng đầu ra khác nhau và xuất hiện trong những trường hợp đặc biệt.  

IOError trong Python là gì?

IOError có nghĩa là Lỗi đầu vào/đầu ra. Nó xảy ra khi một tệp, đường dẫn tệp hoặc hoạt động của hệ điều hành mà chúng tôi đang tham chiếu không tồn tại. Ví dụ: nếu bạn đang chạy một thao tác thời gian chạy trên một tệp hiện có và tệp bị thiếu khỏi vị trí, Python sẽ đưa ra lỗi IOError

Bây giờ, trước khi tìm hiểu cách xử lý IOErrors trong Python, hãy hiểu các loại lỗi khác nhau

Các loại lỗi trong Python

Trình biên dịch phân đoạn lỗi thành các loại khác nhau để xác định và giải pháp tốt hơn. Dưới đây là một số loại lỗi phổ biến nhất mà bạn sẽ gặp phải trong quá trình lập trình của mình

  1. ZeroDivisionLỗi. Xảy ra khi chúng ta cố gắng chia một số cho 0
  2. Khẳng địnhLỗi. Khi câu lệnh gỡ lỗi hoặc khẳng định của tập lệnh Python không thành công, điều này sẽ xuất hiện
  3. Lỗi thuộc tính. Khi thuộc tính đã cho bị sai hoặc không tồn tại trong mô-đun hoặc tập lệnh
  4. Lỗi dấu phẩy động. Lỗi trong quá trình triển khai dấu phẩy động
  5. ImportError/ModuleNotFoundError. Nếu chúng tôi cố gắng nhập một mô-đun và nó không tồn tại, thì điều này sẽ làm tăng
  6. Lỗi IO. Xảy ra khi tệp chúng tôi đang cố truy cập không tồn tại trong hệ thống

Bạn có thể duyệt thêm về các ngoại lệ khác nhau từ tài liệu Python chính thức thông qua liên kết này

Phát hiện và xử lý IOErrors trong Python

Nói chung, trong các phiên bản Python mới hơn, ngoại lệ này có tên mới

Xử lý IOErrors bằng Python trong khi thao tác với tệp

Hãy tạo một hàm để tham chiếu một tệp và sau đó chúng tôi sẽ xử lý IOError

Mã số

file = open['sample.txt', 'w']
print['The file name is: ', file.name]
print['Openeing mode: ', file.mode]

Mở một tệp

file.close[]
print['File is closed: ', file.closed]

Đóng một tập tin

Bây giờ, chúng tôi sẽ xóa tệp và sau đó thử mở tệp và điều này sẽ gây ra lỗi bắt buộc

đầu ra

Đã xảy ra lỗi FileNotFound

FileNotFoundError là một lớp con của IOError. Chúng ta cũng có thể phát hiện nó bằng các phương thức Xử lý ngoại lệ trong Python

Hãy sử dụng khối try and catch để xử lý lỗi filenotfound và cung cấp cho chúng ta kết quả tốt hơn, dễ hiểu hơn

try:
    file = open['sample.txt', 'w']
    print['File found!!!']
    
except IOError:
    print['File not found!!!']

# Output: File not found!!!

Phát hiện lỗi

Giải trình

  1. Trong khối thử, chúng tôi cố gắng mở tệp ở chế độ đọc
  2. Sau đó, chúng tôi thêm một thông báo rằng nếu tệp tồn tại thì hãy in "đã tìm thấy tệp"
  3. Nếu tệp không tồn tại, câu lệnh except sẽ giải quyết vấn đề đó
  4. Khi xảy ra lỗi, khối này sẽ bắt lỗi và in ‘Không tìm thấy tệp‘ thay vì thông báo lỗi phức tạp mà chúng ta đã thấy trước đây

Phần kết luận

Vậy là chủ đề xử lý IOError kết thúc. Lỗi này đặc biệt xuất phát từ tiêu chí xử lý tệp của lập trình Python. Đây là một chủ đề dễ học và chúng ta có thể loại bỏ lỗi bằng cách sử dụng khối 'thử-ngoại trừ'. Sửa lại mã đơn giản một lần nữa để có ý tưởng rõ ràng hơn

Ioerror trong Python là gì?

Đó là lỗi xảy ra khi thao tác nhập/xuất không thành công , chẳng hạn như câu lệnh in hoặc hàm open[] khi cố gắng .

3 lỗi trong Python là gì?

Trong python có ba loại lỗi; . syntax errors, logic errors and exceptions.

Làm cách nào để in lỗi ngoại trừ Python?

Nếu bạn định in ngoại lệ, tốt hơn nên sử dụng print[repr[e]] ; ngoại lệ cơ sở. Việc triển khai __str__ chỉ trả về thông báo ngoại lệ, không phải loại. Hoặc, sử dụng mô-đun theo dõi, có các phương pháp để in ngoại lệ hiện tại, được định dạng hoặc truy nguyên đầy đủ.

Chủ Đề