Python EOL là gì?

Python được nhiều nhà phát triển trên toàn thế giới sử dụng rộng rãi để tạo ra các ứng dụng tuyệt vời. Điều thú vị hơn về Python là nó được lập trình động. Điều đó có nghĩa là bạn không phải khai báo các kiểu biến khi xây dựng một biến. Nó được chọn tự động. Trên hết, xử lý lỗi cho phép bạn bắt và xử lý nhiều lỗi cùng loại. Dấu ngoặc đơn, dấu ngoặc đơn và dấu ngoặc kép không đầy đủ đều gây ra các loại lỗi khác nhau. EOL While Scanning String Literal Error là một trong những lỗi khi phân tích chuỗi trong Python

EOL While Scanning String Literal Error xuất hiện khi mã python của bạn kết thúc trước khi kết thúc chuỗi trích dẫn. Nói một cách đơn giản hơn, các trích dẫn chuỗi của bạn bị thiếu trong mã do lỗi của con người hoặc lỗi cú pháp không chính xác. Vì Python thuộc ngôn ngữ thông dịch (có nghĩa là mã của bạn được thực thi từng dòng mà không cần biên dịch), nên tất cả các câu lệnh trước lỗi EOL đều được thực thi đúng cách

Trong bài đăng này, chúng tôi sẽ xem xét tất cả các nguyên nhân và giải pháp của lỗi này. Hơn nữa, một số câu hỏi thường gặp bổ sung để tránh lỗi EOL trong tương lai

nội dung

EOL chính xác là gì trong khi quét chuỗi ký tự?

Python EOL là gì?

Không nắm bắt hoàn toàn vấn đề, rất khó để gỡ lỗi. Theo thuật ngữ của giáo dân, EOL là viết tắt của “End Of the Line”. Điều đó có nghĩa là mã của bạn đã kết thúc mà không hoàn thành một cú pháp kết thúc nào đó. Ví dụ: khi bạn khai báo một chuỗi trong Python, dấu ngoặc kép (“) được sử dụng. Tại thời điểm này, nếu bạn không kết thúc dòng bằng một câu trích dẫn khác (“), nó sẽ đưa ra lỗi EOL While Scanning Error trong danh mục SyntaxError

EOL được kích hoạt khi trình thông dịch python của bạn đọc xong ký tự cuối cùng trong mã của bạn. Nói một cách đơn giản hơn, nó được gọi khi tệp kết thúc. Khi gọi EOL, trình thông dịch sẽ kiểm tra xem có dấu ngoặc kép, dấu ngoặc và dấu ngoặc nhọn không đầy đủ không. Nếu có, thì SyntaxError sẽ bị ném

Nếu bạn là người mới bắt đầu, bạn sẽ khó hiểu chuỗi ký tự là gì. Phần sau đây sẽ giúp bạn hiểu điều đó

Chuỗi ký tự trong Python là gì?

Chuỗi ký tự là một tập hợp các ký tự được đặt trong dấu ngoặc kép (“). Tất cả các ký tự được ghi chú là một chuỗi. Trong Python, bạn có thể khai báo bằng ba loại, dấu ngoặc đơn (‘ ‘), dấu ngoặc kép (” “), và dấu ngoặc kép (“”” “””). Chuỗi là mảng và các ký tự của chúng có thể được truy cập bằng cách sử dụng dấu ngoặc vuông. Ví dụ sau sẽ giúp bạn hiểu String Literals

Ví dụ chuỗi ký tự

example1 = 'Single Quotes String'
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

print(example1[0]) # will print S

Nguyên nhân của EOL trong khi quét lỗi ký tự chuỗi

Đã biết nguyên nhân gây ra lỗi EOL trong Python. Khi bạn biết tất cả chúng, bạn có thể dễ dàng gỡ lỗi mã của mình và sửa nó. Mặc dù, những nguyên nhân này không nhất thiết là nguyên nhân duy nhất gây ra lỗi. Một số lỗi khác cũng có thể dẫn đến lỗi EOL. Hãy nhảy ngay vào tất cả các nguyên nhân –

nguyên nhân 1. Báo giá đơn chưa được tiết lộ

Các chuỗi ký tự trong python có thể được khai báo bằng cách sử dụng các dấu nháy đơn trong chương trình của bạn. Những chữ này cần được đóng trong hai dấu nháy đơn (‘ ‘). Nếu bạn không thể đặt chuỗi giữa hai dấu ngoặc kép này, nó sẽ đưa ra lỗi EOL While Scanning String Literal. Hơn nữa, nếu bạn đưa thêm một trích dẫn vào chuỗi của mình, nó cũng sẽ gây ra lỗi tương tự. Các ví dụ sau đây sẽ giúp bạn hiểu –

Ví dụ 1 -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S

Trong ví dụ này, thiếu một trích dẫn cuối cùng trong dòng 1. Câu trích dẫn bị thiếu này khiến trình thông dịch phân tích cú pháp các dòng tiếp theo dưới dạng các chuỗi không chính xác. Thêm một trích dẫn vào cuối dòng 1 có thể khắc phục sự cố này

Ví dụ 2 –

x = 'This is a String
print(x)

Trong ví dụ này, thiếu một trích dẫn ở cuối dòng 1

Ví dụ 3 –

x = 'It's awesome'
print(x)

Trong ví dụ đặc biệt này, có ba dấu nháy đơn trong dòng đầu tiên. Theo python, chuỗi cho biến x kết thúc khi gửi trích dẫn đơn. Phần tiếp theo sẽ được coi là một phần của mã khác, không phải là một chuỗi. Điều này khiến SyntaxError xuất hiện trên màn hình của bạn

nguyên nhân 2. Báo giá kép không được tiết lộ

Chuỗi chữ cũng có thể được khai báo bằng cách sử dụng dấu ngoặc kép. Trong hầu hết các ngôn ngữ lập trình, dấu ngoặc kép là cách mặc định để khai báo một chuỗi. Vì vậy, nếu bạn không đặt chuỗi có dấu ngoặc kép, nó sẽ ném SyntaxError. Ngoài ra, nếu bạn đã sử dụng một số lẻ dấu ngoặc kép (“) trong chuỗi của mình, nó cũng sẽ báo lỗi này do thiếu dấu ngoặc kép. Ví dụ sau đây sẽ giúp bạn hiểu –

Ví dụ 1 -

example1 = 'Single Quotes String'
example2 = "Double Quotes String
example3 = """Triple Quotes String"""

example1[0] # will print S

Trong ví dụ này, thiếu một trích dẫn kép ở cuối dòng thứ hai. Câu trích dẫn bị thiếu này khiến trình thông dịch phân tích cú pháp tất cả các mã sau đây như một phần của chuỗi cho biến example2. Cuối cùng, nó đưa ra lỗi EOL khi đến cuối tệp

Ví dụ 2 –

x = "This is a String
print(x)

Tương tự, thiếu một trích dẫn kép ở cuối dòng 1

Ví dụ 3 –

x = "It"s awesome"
print(x)

Trong ví dụ đặc biệt này, có ba dấu ngoặc kép ở dòng đầu tiên. Theo python, chuỗi cho biến x kết thúc khi gửi trích dẫn đơn. Phần tiếp theo sẽ được coi là một phần của mã khác, không phải là một chuỗi. Điều này khiến SyntaxError xuất hiện trên màn hình của bạn

nguyên nhân 3. Dấu ngoặc kép chưa được tiết lộ

Trong Python, có một cách khai báo chuỗi đặc biệt bằng cách sử dụng ba dấu nháy kép (“””). Cách này được sử dụng khi bạn phải bao gồm dấu nháy kép và dấu nháy đơn trong chuỗi của mình. Với kiểu khai báo này, bạn có thể bao gồm bất kỳ ký tự nào trong chuỗi. Vì vậy, nếu bạn không đóng ba dấu ngoặc kép này, tôi sẽ báo lỗi EOL. Các ví dụ sau đây sẽ giúp bạn hiểu –

Ví dụ 1 -

Trong dòng 3 của ví dụ, có một trích dẫn bị thiếu trong bộ ba trích dẫn. Do đó, trình thông dịch python sẽ coi tất cả các dòng sau đây là một phần của biến chuỗi ví dụ3. Cuối cùng, vì không có dấu ngoặc kép kết thúc, nó sẽ báo lỗi EOL

example1 = 'Single Quotes String'
example2 = "Double Quotes String"
example3 = """Triple Quotes String""

example1[0] # will print S

Ví dụ 2 –

Tương tự như ví dụ 1, hai trong số các trích dẫn bị thiếu ở dòng 1

________số 8_______

nguyên nhân 4. Số dấu gạch chéo ngược lẻ trong chuỗi thô

Dấu gạch chéo ngược được sử dụng trong chuỗi để bao gồm các ký tự đặc biệt trong chuỗi. Ví dụ: nếu bạn muốn thêm dấu ngoặc kép vào chuỗi được trích dẫn kép, bạn có thể sử dụng \” để thêm nó. Mỗi ký tự sau dấu gạch chéo ngược có một ý nghĩa khác nhau đối với python. Vì vậy, nếu bạn không cung cấp ký tự tương ứng sau dấu gạch chéo ngược (\), bạn sẽ nhận được EOL While Scanning String Literal Error. Các ví dụ sau đây sẽ giúp bạn hiểu nó -

Ví dụ 1 -

Chuỗi sau không hợp lệ vì không có ký tự sau dấu gạch chéo ngược. Hiện tại, python xử lý các chuỗi giống như tiêu chuẩn C. Để tránh lỗi này, hãy đặt “r” hoặc “R” trước chuỗi của bạn

x = "\"

Ví dụ 2 –

Ví dụ sau chứa một số lẻ dấu gạch chéo ngược không có các ký tự sau. Điều này khiến lỗi EOL tăng lên khi diễn giải mong đợi ký tự tiếp theo

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
0

Ví dụ 3 –

Dấu gạch chéo ngược cuối cùng trong chuỗi không có ký tự sau. Điều này khiến trình biên dịch đưa ra lỗi

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
1

Làm cách nào để bạn sửa lỗi EOL trong khi quét chuỗi ký tự?

Vì nguyên nhân của các lỗi đã rõ ràng, chúng ta có thể chuyển sang giải pháp cho từng lỗi này. Tuy mỗi nguyên nhân có một cách giải quyết khác nhau nhưng tất cả đều thuộc chuỗi ký tự. Tất cả các lỗi này đều dựa trên các chuỗi ký tự không hoàn chỉnh không được đóng cho đến cuối. Các giải pháp sau đây sẽ giúp bạn giải quyết từng lỗi này –

Giải pháp cho chuỗi trích dẫn đơn

Sửa các chuỗi trích dẫn không đầy đủ là một nhiệm vụ dễ dàng trong Python. Đầu tiên, hãy tìm các khai báo chuỗi trong mã của bạn. Sau khi tìm được, kiểm tra xem chuỗi có dấu nháy đơn kết thúc không đầy đủ (‘). Ngoài ra, hãy kiểm tra xem chuỗi có thêm dấu nháy đơn nào không. Sau khi định vị chuỗi, hãy thêm một trích dẫn vào cuối chuỗi

Ví dụ 1 -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
2

Python EOL là gì?

Giải pháp cho chuỗi trích dẫn kép trong EOL khi quét chuỗi ký tự

Tương tự, đối với dấu ngoặc kép, hãy kiểm tra xem có bất kỳ khai báo chuỗi nào trong mã của bạn bị thiếu dấu ngoặc kép (“). Nếu không, hãy kiểm tra thêm một trích dẫn kép bên trong chuỗi. Bạn có thể sử dụng tùy chọn Tìm trong IDE của mình để tìm nhanh. Xác định vị trí lỗi này và khắc phục bằng cách thêm một dấu ngoặc kép bổ sung vào cuối dòng này

Ví dụ -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
3

Python EOL là gì?

Giải pháp cho dấu gạch chéo ngược không đầy đủ trong Chuỗi

Trước tiên, hãy kiểm tra xem mã của bạn có chứa và dấu gạch chéo ngược không. Nếu có, hãy di chuyển đến dòng cụ thể và kiểm tra xem nó có nằm trong chuỗi không. Hiện tại, dấu gạch chéo ngược cho phép chúng ta thêm các ký tự đặc biệt trong chuỗi. Nếu chuỗi của bạn chứa dấu gạch chéo ngược như vậy, hãy xóa chúng và thử chạy mã. Ngoài ra, nếu bạn muốn thêm các ký tự đặc biệt, bạn cũng có thể sử dụng chuỗi trích dẫn ba. Các ví dụ sau đây có thể giúp bạn hiểu đúng về nó –

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
4

Python EOL là gì?

Để thêm các ký tự đặc biệt trong chuỗi, bạn có thể sử dụng dấu gạch chéo ngược trong chuỗi. Ví dụ: \t thêm không gian tab mới, \n thêm một dòng mới, \\ thêm dấu gạch chéo ngược theo nghĩa đen và nhiều dấu gạch chéo ngược khác. Đảm bảo rằng bạn sử dụng chúng cẩn thận để tránh mọi lỗi EOF khi quét

EOL trong khi quét lỗi ký tự chuỗi trích dẫn ba lần

Chuỗi trích dẫn ba là một cách mạnh mẽ để xác định chuỗi trong Python. Nó có thể được sử dụng nếu bạn muốn thêm các ký tự như dấu nháy kép, nháy đơn và các ký tự đặc biệt khác trong chuỗi. Các chuỗi ký tự nhiều dòng cũng có thể được khai báo bằng cách sử dụng Chuỗi trích dẫn Tripe. Ngoài ra, tài liệu về mã được thực hiện thông qua dấu ngoặc kép trong python. Nhiều khi chúng ta sử dụng nhầm ít hơn 3 dấu ngoặc kép để khởi tạo nó. Trong những trường hợp như vậy, xuất hiện lỗi EOL trong khi quét ba ký tự chuỗi được trích dẫn

Cú pháp cơ bản của chuỗi ba trích dẫn là –

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
5

Sử dụng phương pháp trên, bạn có thể khai báo chuỗi trong dấu nháy ba. Kiểm tra – Cách xóa dấu ngoặc kép khỏi chuỗi trong Python

Quay lại với lỗi của chúng tôi, bất cứ khi nào người dùng sử dụng ít hơn 6 dấu ngoặc kép (3 ở phía trước và 3 ở cuối), trình thông dịch sẽ đưa ra lỗi EOL SyntaxError. Để khắc phục điều này, hãy đảm bảo rằng bạn giữ đúng cấu trúc trích dẫn 3 + 3 trong mã của mình như được hiển thị ở trên. Làm theo ví dụ này để có ý tưởng –

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
6

Lưu ý – Bạn có thể thêm bất kỳ số lượng dấu ngoặc đơn và dấu ngoặc kép nào bên trong chuỗi nhưng ba dấu ngoặc kép ở đầu và cuối là bắt buộc

Làm cách nào để sửa SyntaxError EOF không mong muốn trong khi phân tích cú pháp?

Vì EOL trong khi quét lỗi ký tự chuỗi xảy ra do chuỗi không hoàn chỉnh, EOF không mong muốn trong khi phân tích cú pháp xảy ra khi có các khối không hoàn chỉnh khác trong mã. Trình thông dịch đang đợi một số dấu ngoặc nhất định được hoàn thành nhưng chúng chưa bao giờ thực hiện trong mã. Nguyên nhân chính gây ra lỗi này là do dấu ngoặc không đầy đủ, dấu ngoặc vuông và không có khối thụt vào

Ví dụ: hãy xem xét vòng lặp “for” trong mã của bạn không có khối dự định theo sau nó. Trong những trường hợp như vậy, Lỗi cú pháp EOF sẽ được tạo

Ngoài ra, hãy kiểm tra các tham số được truyền trong các chức năng của bạn để tránh gặp phải lỗi này. Truyền một đối số không hợp lệ cũng có thể dẫn đến lỗi này. Đoạn mã sau, một ví dụ có thể giúp bạn hiểu các lỗi phân tích cú pháp –

Ví dụ 1 -

Trong ví dụ này, có một dấu ngoặc bị thiếu trong câu lệnh print(). Trình thông dịch đạt đến Cuối dòng trước khi dấu ngoặc hoàn thành, dẫn đến Lỗi cú pháp. Những lỗi như vậy có thể được giải quyết bằng cách thêm một dấu ngoặc khác

Lỗi -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
7

Giải pháp -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
8

Ví dụ 2 –

Trong ví dụ này, không có khối mã nào sau câu lệnh “for”. Trình thông dịch python mong đợi một khối mã được thụt vào sau câu lệnh for để thực thi nó, nhưng ở đây nó không xuất hiện. Do đó, mã này gây ra lỗi EOF. Để giải quyết lỗi này, hãy chèn một khối dự kiến ​​vào cuối

Lỗi -

example1 = 'Single Quotes String
example2 = "Double Quotes String"
example3 = """Triple Quotes String"""

example1[0] # will print S
9

Giải pháp -

x = 'This is a String
print(x)
0

Câu hỏi thường gặp

Sau đây là một số Câu hỏi thường gặp phổ biến liên quan đến chủ đề này –

Làm cách nào để sử dụng \n trong Python?

\n đề cập đến một dòng mới trong ngôn ngữ lập trình. Để sử dụng nó trong python, bạn cần khai báo một chuỗi bằng cách sử dụng dấu ngoặc kép (“) rồi thêm “\n” bên trong để tạo một dòng mới. Sau đây là một ví dụ cho nó -

x = 'This is a String
print(x)
1

Đầu ra –

x = 'This is a String
print(x)
2

Làm cách nào để sử dụng dấu gạch chéo ngược trong Python?

Dấu gạch chéo ngược là một cách tuyệt vời để thêm các ký tự đặc biệt vào chuỗi của bạn. Nó được sử dụng để thêm dấu ngoặc kép, dấu gạch chéo, dòng mới, không gian tab và các ký tự khác trong chuỗi. Để sử dụng nó, trước tiên bạn cần khai báo một chuỗi bằng dấu ngoặc kép và sau đó sử dụng “\” để thêm ký tự

x = 'This is a String
print(x)
3

Đầu ra –

x = 'This is a String
print(x)
4

Dạng chuỗi ký tự nào bỏ qua dấu gạch chéo ngược?

Chỉ các chuỗi ký tự thô mới bỏ qua các dấu gạch chéo ngược trong mã Python. Để khai báo một chuỗi thô, bạn phải đề cập đến “r” hoặc “R” trước chuỗi của mình. Điều này giúp hiểu trình thông dịch python để tránh các chuỗi thoát,

x = 'This is a String
print(x)
5

Đầu ra –

x = 'This is a String
print(x)
6

Phải đọc

Mô-đun getopt trong Python. Hướng dẫn từ A – Z
4 cách vẽ hình chữ nhật trong Matplotlib
5 cách để kiểm tra xem mảng NumPy có trống không
7 cách mạnh mẽ để chuyển đổi chuỗi thành danh sách trong Python

Từ cuối cùng. EOL trong khi quét chuỗi ký tự

Các chuỗi hữu ích theo hàng nghìn cách trong Python. Khi sử dụng chúng có thể cung cấp quyền truy cập dễ dàng vào chuỗi ký tự và thuộc tính của chúng. Vấn đề duy nhất là bạn phải chăm sóc cú pháp của họ. Mọi cú pháp không hợp lệ và dấu gạch chéo ngược không hợp lệ trong chuỗi có thể khiến lỗi EOF xuất hiện. Để tránh lỗi này, hãy làm theo tất cả các bước từ bài viết trên

EOL là gì khi quét theo nghĩa đen trong Python?

Nguyên nhân phổ biến nhất của Lỗi Cú pháp Python. EOL trong khi quét chuỗi ký tự là do thiếu dấu ngoặc kép ở cuối chuỗi . Điều này đề cập đến một chuỗi được mở bằng cách sử dụng ' , " hoặc """ và không đóng chuỗi đúng cách.

e0l là gì?

EOL là viết tắt của “ end of life ,” xảy ra với phần cứng và phần mềm. Đây là giai đoạn sản phẩm trở nên lỗi thời hoặc không được nhà sản xuất hỗ trợ.

Lỗi cuối dòng là gì?

Lỗi EOL ( End of Line ) chỉ ra rằng trình thông dịch Python mong đợi một ký tự hoặc tập hợp ký tự cụ thể xuất hiện trong một dòng mã cụ thể, nhưng những ký tự đó không được tìm thấy trước khi kết thúc dòng. Điều này dẫn đến việc Python dừng thực thi chương trình và đưa ra lỗi cú pháp

EOL trong Python Lớp 12 là gì?

Mỗi dòng của tệp văn bản được kết thúc bằng một ký tự đặc biệt, được gọi là Cuối dòng (EOL). Ví dụ: ký tự EOL mặc định trong Python là dòng mới (\n) . Tuy nhiên, các ký tự khác có thể được sử dụng để biểu thị EOL.