Làm cách nào để bỏ qua lỗi eof trong python?
Trong Python, EOFError là một ngoại lệ xuất hiện khi các hàm như input() hoặc raw_input() trong trường hợp python2 trả về phần cuối của tệp (EOF) mà không đọc bất kỳ đầu vào nào Show Khi nào chúng ta có thể mong đợi EOFErrorChúng ta có thể mong đợi EOF trong một số trường hợp phải xử lý input() / raw_input() chẳng hạn như
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Đoạn mã trên đưa ra EOFError vì câu lệnh đầu vào bên trong vòng lặp ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients:8 đưa ra một ngoại lệ ở lần lặp cuối cùng Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email Trong hướng dẫn này, chúng tôi nói về lỗi Python này và tại sao nó lại xuất hiện. Chúng tôi đi qua một vài tình huống ví dụ để bạn có thể tìm ra cách giải quyết lỗi phổ biến này Lỗi cú pháp. EOF không mong muốn trong khi phân tích cú pháp“Lỗi cú pháp. lỗi EOF không mong muốn trong khi phân tích cú pháp” xảy ra khi mã nguồn của bạn kết thúc trước khi tất cả mã được thực thi. Điều này xảy ra khi bạn mắc lỗi trong cấu trúc hoặc cú pháp mã của mình EOF là viết tắt của Kết thúc tệp. Đây là ký tự cuối cùng trong chương trình Python Python đến cuối tệp trước khi chạy mọi khối mã nếu
Hãy lần lượt đi qua từng sai lầm này. Có những trường hợp khác xảy ra lỗi này nhưng những trường hợp được đề cập ở trên là phổ biến nhất Ví dụ 1. Kèm theo Mã trong Tuyên bố Đặc biệtĐối với các vòng lặp, câu lệnh if, vòng lặp while và các hàm yêu cầu ít nhất một dòng mã trong câu lệnh của chúng. Quên bao gồm một dòng mã trong một câu lệnh đặc biệt sẽ dẫn đến lỗi EOF không mong muốn Hãy xem một vòng lặp in ra danh sách các thành phần trong một công thức ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients: Chúng tôi xác định một biến gọi là "thành phần" lưu trữ danh sách các thành phần cho công thức bánh mì vani. Chúng tôi sử dụng vòng lặp for để lặp qua từng thành phần trong danh sách. Chạy mã của chúng tôi và xem điều gì sẽ xảy ra File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing Chúng tôi chưa thêm bất kỳ mã nào vào vòng lặp “for” của chúng tôi. Điều này gây ra một lỗi. Lỗi tương tự này xảy ra nếu chúng ta xác định vòng lặp while, câu lệnh if hoặc hàm mà không kèm theo bất kỳ mã nào trong câu lệnh » THÊM. Cấu trúc dữ liệu Python Để giải quyết vấn đề này, chúng tôi thêm một số mã vào vòng lặp của chúng tôi. Chúng tôi thêm một câu lệnh File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing1 để chúng tôi có thể in từng thành phần riêng lẻ ra bảng điều khiển for i in ingredients: print(i) Hãy chạy mã của chúng tôi 325g plain flour 200g chilled butter 125g golden caster sugar 2 tsp vanilla extract 2 free range egg yolks Mã của chúng tôi in ra từng thành phần trong danh sách thành phần của chúng tôi. Điều này cho chúng tôi biết các khối mã đã được hoàn thành thành công. Nếu bạn không có bất kỳ mã nào muốn thêm vào một câu lệnh đặc biệt, hãy sử dụng câu lệnh “vượt qua” làm trình giữ chỗ. Hãy xem xét mã này ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients: pass Mã này không trả về giá trị nào. Chúng ta đã định nghĩa một vòng lặp nhưng câu lệnh “pass” cho chương trình của chúng ta biết rằng vòng lặp chưa cần thực hiện bất cứ điều gì. Từ khóa này thường được sử dụng khi các nhà phát triển đang xây dựng cấu trúc cho một chương trình. Khi cấu trúc của chương trình được xác định, câu lệnh “vượt qua” được thay thế bằng mã có liên quan Ví dụ #2. Dấu ngoặc đơn không đóngLỗi "EOF không mong muốn trong khi phân tích cú pháp" xảy ra khi bạn quên đóng tất cả các dấu ngoặc đơn trên một dòng mã Viết chương trình in thông tin về một công thức ra bàn điều khiển. Bắt đầu bằng cách xác định một vài biến với thông tin về công thức name = "Vanilla Shortbread" author = "Career Karma" vegetarian = "This recipe is vegetarian." Chúng tôi định dạng này thành một chuỗi bằng cách sử dụng phương pháp File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing2 print("The {} recipe was devised by {}. {}".format(name, author, vegetarian) Các giá trị {} được thay thế bằng các giá trị tương ứng trong câu lệnh File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing2. Điều này có nghĩa là chuỗi của chúng tôi sẽ nói ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients:1 Chạy mã của chúng tôi ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients:2 Trên dòng mã File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing1 của chúng tôi, chúng tôi chỉ đóng một bộ dấu ngoặc đơn. Chúng tôi đã mở hai bộ dấu ngoặc đơn. Do đó, một lỗi đã được trả lại. » THÊM. Sự kiện Python tốt nhất để tìm hiểu và nhận hỗ trợ Chúng tôi giải quyết vấn đề này bằng cách thêm ký tự dấu ngoặc đơn kết thúc (“)”) vào cuối dòng mã File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing1 ingredients = ["325g plain flour", "200g chilled butter", "125g golden caster sugar", "2 tsp vanilla extract", "2 free range egg yolks"] for i in ingredients:5 Dòng mã này kết thúc bằng hai dấu ngoặc thay vì một. Tất cả các dấu ngoặc đơn hiện đã đóng Hãy thử chạy lại mã của chúng tôi File "main.py", line 4 ^ SyntaxError: unexpected EOF while parsing0 mã của chúng tôi chạy thành công Lỗi tương tự này xảy ra nếu bạn quên đóng từ điển bằng dấu ngoặc {}. Bạn cũng gặp phải lỗi này nếu quên đóng danh sách bằng dấu ngoặc [] "Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. " Venus, Kỹ sư phần mềm tại Rockbot Find Your Bootcamp MatchSự kết luận“Lỗi cú pháp. lỗi EOF không mong muốn trong khi phân tích cú pháp” xuất hiện khi trình thông dịch Python chạy đến cuối chương trình trước khi mọi dòng mã được thực thi Để giải quyết lỗi này, trước tiên hãy kiểm tra để đảm bảo rằng mọi câu lệnh if, vòng lặp for, vòng lặp while và hàm đều chứa mã. Thứ hai, hãy kiểm tra để đảm bảo rằng bạn đã đóng tất cả các dấu ngoặc đơn trong mã của mình Bây giờ bạn đã sẵn sàng để giải quyết lỗi cú pháp này như một chuyên gia Python 5 Xếp hạng Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK |