Làm cách nào để sửa lỗi eof trong python 3?

Trong Python, EOFError là một ngoại lệ xuất hiện khi các hàm như input[] và raw_input[] trả về cuối tệp [EOF] mà không đọc bất kỳ đầu vào

Hãy lấy hai số từ người dùng, cộng chúng lại và hiển thị kết quả. Hàm input[] lấy đầu vào từ người dùng và chuyển đổi nó thành một chuỗi

Vì muốn cộng hai số nên ta cần chuyển chuỗi thành int. Trong Python   2. x, hàm raw_input[]   tương tự như hàm input[] trong Python 3. x.

 

Xem xét ví dụ sau

 

#python 3.6
value1 = int[input["Enter value 1: "]]
value2 = int[input["Enter value2: "]]
result = value1 + value2
print[f"The sum of {value1} and {value2} is: {result}"]

 

Nếu người dùng nhập chính xác cả hai giá trị, thì chương trình sẽ chạy mà không có bất kỳ Ngoại lệ EOFError nào

Enter value1: 10
Enter value2: 5
The sum of 10 and 5 is: 15

 

Bây giờ, hãy xem điều gì sẽ xảy ra nếu chúng ta nhấn Ctrl + D để thoát khỏi quy trình khi đầu vào đang được lấy

 

EOFError trong Python là gì

 

Như bạn có thể thấy trong đầu ra ở trên, một ngoại lệ EOFError được đưa ra khi hàm trả về mà không lấy bất kỳ dữ liệu nào

 

Xử lý ngoại lệ EOFError

Chúng ta có thể xử lý ngoại lệ này bằng cách sử dụng khối try and except. Mã đáng ngờ được thêm vào bên trong khối thử và việc xử lý ngoại lệ được thực hiện trong khối ngoại trừ

Nếu không có ngoại lệ nào được nêu ra, tôi. e. , người dùng chèn đúng cả 2 đầu vào thì khối try mới chạy. Mặt khác, khối ngoại trừ sẽ có quyền kiểm soát khi xảy ra ngoại lệ

Lưu ý rằng chúng tôi chỉ xem xét ngoại lệ EOFError ở đây

 

try:
  value1 = int[input["Enter value 1: "]]
  value2 = int[input["Enter value2: "]]
  result = value1 + value2
  print[f"The sum of {value1} and {value2} is: {result}"]
except EOFError as e:
  print["End-Of-File when reading input"]

 

 

Đầu ra ngoại lệ EOFError

 

Phần kết luận

Cảm ơn bạn đã đọc bài đăng trên blog này về OSError trong Python là gì. Tôi hy vọng bài viết này đã làm rõ trong những trường hợp bạn có thể gặp phải một lỗi như vậy và cách ngăn chặn nó

Mã hóa vui vẻ

Đọc về cách lặp lại từ đầu chương trình trong Python ngay bây giờ

Marcel

này các cậu. Là tôi, Marcel, hay còn gọi là Maschi. Trên MaschiTuts, đó là tất cả về hướng dẫn. Bất kể chủ đề của bài viết là gì, mục tiêu luôn giống nhau. Cung cấp cho các bạn những hướng dẫn chuyên sâu và hữu ích nhất

Lỗi EOF thường xảy ra khi chương trình của bạn mong đợi đầu vào [muốn đọc đầu vào] nhưng không tìm thấy đầu vào. Trên sololearning, bạn phải nhập tất cả đầu vào ngay từ đầu. Và bạn đang sử dụng while True mà không có bất kỳ câu lệnh ngắt nào. Có nghĩa là, bạn sẽ cần phải nhập thời gian vô hạn. oẳn tù tì hoặc kéo để tránh lỗi eof. Vì vậy, tôi khuyên bạn chỉ nên để chương trình kết thúc khi người dùng hoặc bot thắng trò chơi

EOFError trong python là một trong những lỗi xử lý ngoại lệ và nó được phát sinh trong các tình huống như hàm input[] bị gián đoạn trong cả phiên bản python 2. 7 và trăn phiên bản 3. 6 và các phiên bản khác sau phiên bản 3. 6 hoặc khi hàm input[] chạm đến phần cuối không mong muốn của tệp trong phiên bản python 2. 7, đó là các hàm không đọc bất kỳ ngày nào trước khi kết thúc đầu vào. Và các phương thức như phương thức read[] phải trả về một chuỗi trống khi gặp phải phần cuối của tệp và EOFError này trong python được kế thừa từ lớp Exception, do đó được kế thừa từ lớp BaseException

cú pháp

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

EOFError: EOF when reading a line

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [83.788 xếp hạng]

Hoạt động của EOFError trong Python

Dưới đây là hoạt động của EOFError

1. Lớp BaseException là lớp cơ sở của lớp Exception kế thừa lớp EOFError

2. EOFError không phải là lỗi về mặt kỹ thuật, nhưng nó là một ngoại lệ. Khi các hàm dựng sẵn như hàm input[] hoặc hàm read[] trả về một chuỗi trống mà không đọc bất kỳ dữ liệu nào, thì ngoại lệ EOFError sẽ xuất hiện

3. Ngoại lệ này được đưa ra khi chương trình của chúng ta đang cố lấy thứ gì đó và sửa đổi nó, nhưng khi nó không đọc được bất kỳ dữ liệu nào và trả về một chuỗi trống, thì ngoại lệ EOFError được đưa ra

ví dụ

Dưới đây là ví dụ về Python EOFError

Ví dụ 1

Chương trình Python để chứng minh EOFError với thông báo lỗi trong chương trình

Mã số

#EOFError program
#try and except blocks are used to catch the exception
try:
    	while True:
       		 #input is assigned to a string variable check
        		check = raw_input['The input provided by the user is being read which is:']
        		#the data assigned to the string variable is read
        		print 'READ:', check
#EOFError exception is caught and the appropriate message is displayed
except EOFError as x:
   	 print x

đầu ra

Giải trình. Trong chương trình trên, các khối try và except được sử dụng để bắt ngoại lệ. Khối while được sử dụng trong khối try, khối này được đánh giá là true và miễn là điều kiện còn đúng, dữ liệu do người dùng cung cấp sẽ được đọc và dữ liệu được hiển thị bằng câu lệnh in và nếu dữ liệu không thể đọc được

Ví dụ #2

Chương trình Python để chứng minh EOFError với thông báo lỗi trong chương trình

Mã số

#EOFError program
#try and except blocks are used to catch the exception
try:
    	while True:
       			 #input is assigned to a string variable check
       			 check = raw_input['The input provided by the user is being read which is:']
        			#the data assigned to the string variable is read
        		 print 'Hello', check
#EOFError exception is caught and the appropriate message is displayed
except EOFError as x:
    	print x

đầu ra

Giải trình. Trong chương trình trên, các khối try và except được sử dụng để bắt ngoại lệ. Một khối while được sử dụng trong một khối try, khối này được đánh giá là đúng và miễn là điều kiện còn đúng, dữ liệu do người dùng cung cấp sẽ được đọc và nó được hiển thị bằng câu lệnh in và nếu dữ liệu không thể đọc được với

Các bước để tránh EOFError trong Python

Nếu Lỗi kết thúc tệp hoặc EOFError xảy ra mà không đọc bất kỳ dữ liệu nào bằng hàm input[], một ngoại lệ EOFError sẽ được đưa ra. Để tránh trường hợp ngoại lệ này được nêu ra, chúng ta có thể thử các tùy chọn sau:

Trước khi gửi ngoại lệ Kết thúc tệp, hãy thử nhập một cái gì đó như CTRL + Z hoặc CTRL + D hoặc một chuỗi trống mà ví dụ dưới đây có thể minh họa

Mã số

#try and except blocks are used to catch the exception
try:
    	data = raw_input ["Do you want to continue?: "]
except EOFError:
    	print ["Error: No input or End Of File is reached!"]
    	data = ""
    	print data

đầu ra

Giải trình. Trong chương trình trên, các khối try và except được sử dụng để tránh ngoại lệ EOFError bằng cách sử dụng một chuỗi trống sẽ không in thông báo lỗi Kết thúc tệp mà in thông báo tùy chỉnh được cung cấp bởi is được hiển thị trong chương trình và tương tự là . Đầu ra của chương trình được hiển thị trong ảnh chụp nhanh ở trên

Nếu ngoại lệ EOFError phải được xử lý, khối try and catch có thể được sử dụng

Phần kết luận

Trong hướng dẫn này, chúng ta hiểu khái niệm về EOFError trong Python thông qua định nghĩa, cú pháp của EOFError trong Python, hoạt động của EOFError trong Python thông qua các ví dụ lập trình và đầu ra của chúng, cũng như các bước để tránh EOFError trong Python

Bài viết được đề xuất

Đây là hướng dẫn về Python EOFError. Ở đây chúng tôi thảo luận về Giới thiệu và Hoạt động của Python EOFError cùng với các ví dụ và triển khai mã. Bạn cũng có thể xem qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm –

Chủ Đề