Bên cạnh phương pháp trên, bất kỳ cách nào khác để tìm hiểu xem FP có ở EOF không? Show Hỏi ngày 13 tháng 4 năm 2012 lúc 11:52Apr 13, 2012 at 11:52
1
3 đọc đến cuối tệp, vì vậy sau khi hoàn thành thành công, bạn biết tệp đang ở EOF; Không cần phải kiểm tra. Nếu nó không thể đạt được EOF, nó sẽ tăng một ngoại lệ.Khi đọc một tệp trong các đoạn thay vì với 4, bạn sẽ biết rằng bạn đã nhấn EOF khi 5 trả về ít hơn số byte bạn yêu cầu. Trong trường hợp đó, cuộc gọi 5 sau đây sẽ trả về chuỗi trống (không phải 7). Vòng lặp sau đây đọc một tệp trong các khối; Nó sẽ gọi 5 nhiều nhất là quá nhiều.
Hoặc, ngắn hơn:
Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:55Apr 13, 2012 at 11:55
Fred Foofred FooFred Foo 347K73 Huy hiệu vàng725 Huy hiệu bạc824 Huy hiệu đồng73 gold badges725 silver badges824 bronze badges 9 Thiết kế "For-Else" thường bị bỏ qua. Xem: Tài liệu Python "luồng điều khiển trong vòng lặp": Thí dụ
BigMan73 1.04413 Huy hiệu bạc13 Huy hiệu đồng13 silver badges13 bronze badges Đã trả lời ngày 14 tháng 7 năm 2014 lúc 14:18Jul 14, 2014 at 14:18
BEEPBOOPBEEPBOOPBeepBoop 1.22410 Huy hiệu bạc12 Huy hiệu đồng10 silver badges12 bronze badges 2 Tôi lập luận rằng đọc từ tệp là cách đáng tin cậy nhất để xác định xem nó có chứa nhiều dữ liệu hơn hay không. Nó có thể là một đường ống, hoặc một quy trình khác có thể được nối lại dữ liệu vào tệp, v.v. Nếu bạn biết đó không phải là một vấn đề, bạn có thể sử dụng một cái gì đó như:
Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:54Apr 13, 2012 at 11:54
NPENPENPE 472K104 Huy hiệu vàng923 Huy hiệu bạc998 Huy hiệu Đồng104 gold badges923 silver badges998 bronze badges 3 Khi Python trả về chuỗi trống trên EOF chứ không phải "EOF", bạn chỉ có thể kiểm tra mã cho nó, được viết ở đây
Joanis 8.34112 Huy hiệu vàng26 Huy hiệu bạc36 Huy hiệu đồng12 gold badges26 silver badges36 bronze badges Đã trả lời ngày 16 tháng 6 năm 2016 lúc 9:51Jun 16, 2016 at 9:51
tingtongtingtongtingtong 2552 huy hiệu bạc2 huy hiệu đồng2 silver badges2 bronze badges 5 Khi thực hiện I/O nhị phân, phương pháp sau là hữu ích:
Ưu điểm là đôi khi bạn đang xử lý một luồng nhị phân và không biết trước bạn sẽ cần đọc bao nhiêu. Đã trả lời ngày 1 tháng 8 năm 2014 lúc 1:39Aug 1, 2014 at 1:39
user545424user545424user545424 15.3k11 Huy hiệu vàng53 Huy hiệu bạc69 Huy hiệu Đồng11 gold badges53 silver badges69 bronze badges 11 Bạn có thể so sánh giá trị trả về của 9 trước và sau khi gọi phương thức 5. Nếu họ trả về cùng một giá trị, FP sẽ ở EOF.Hơn nữa, tôi không nghĩ rằng mã ví dụ của bạn thực sự hoạt động. Phương pháp 5 theo kiến thức của tôi không bao giờ trả về 7, nhưng nó trả về một chuỗi trống trên EOF.Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:54Apr 13, 2012 at 11:54
1 NPENPE Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:55Apr 13, 2012 at 11:55
011001100110011001100110 Fred Foofred Foo3 gold badges22 silver badges32 bronze badges
347K73 Huy hiệu vàng725 Huy hiệu bạc824 Huy hiệu đồng Thiết kế "For-Else" thường bị bỏ qua. Xem: Tài liệu Python "luồng điều khiển trong vòng lặp":16 gold badges45 silver badges49 bronze badges Thí dụDec 9, 2014 at 7:08
1.04413 Huy hiệu bạc13 Huy hiệu đồngsamba Đã trả lời ngày 14 tháng 7 năm 2014 lúc 14:183 gold badges10 silver badges19 bronze badges 2 BEEPBOOPBEEPBOOP
1.22410 Huy hiệu bạc12 Huy hiệu đồng Tôi lập luận rằng đọc từ tệp là cách đáng tin cậy nhất để xác định xem nó có chứa nhiều dữ liệu hơn hay không. Nó có thể là một đường ống, hoặc một quy trình khác có thể được nối lại dữ liệu vào tệp, v.v.
Nếu bạn biết đó không phải là một vấn đề, bạn có thể sử dụng một cái gì đó như: 0Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:54 NPENPEFeb 8, 2018 at 7:20
472K104 Huy hiệu vàng923 Huy hiệu bạc998 Huy hiệu ĐồngHan Luo Khi Python trả về chuỗi trống trên EOF chứ không phải "EOF", bạn chỉ có thể kiểm tra mã cho nó, được viết ở đây3 silver badges4 bronze badges Joanis
Đã trả lời ngày 16 tháng 6 năm 2016 lúc 9:51Sep 10, 2013 at 4:37
tingtongtingtongymattw 2552 huy hiệu bạc2 huy hiệu đồng10 silver badges7 bronze badges Khi thực hiện I/O nhị phân, phương pháp sau là hữu ích: Đã trả lời ngày 13 tháng 4 năm 2012 lúc 11:55Apr 13, 2012 at 11:55
Ưu điểm là đôi khi bạn đang xử lý một luồng nhị phân và không biết trước bạn sẽ cần đọc bao nhiêu.mensi Đã trả lời ngày 1 tháng 8 năm 2014 lúc 1:392 gold badges33 silver badges43 bronze badges 115.3k11 Huy hiệu vàng53 Huy hiệu bạc69 Huy hiệu Đồngseek() and tell() to determine the position of the end of file. Once the position is found, seek back to the file beginning Bạn có thể so sánh giá trị trả về của 9 trước và sau khi gọi phương thức 5. Nếu họ trả về cùng một giá trị, FP sẽ ở EOF.Jul 31, 2017 at 8:57
1 Hơn nữa, tôi không nghĩ rằng mã ví dụ của bạn thực sự hoạt động. Phương pháp 5 theo kiến thức của tôi không bao giờ trả về 7, nhưng nó trả về một chuỗi trống trên EOF.Đọc trả về một chuỗi trống khi gặp EOF. Tài liệu đang ở đây. 2.2363 huy hiệu vàng22 Huy hiệu bạc32 Huy hiệu đồng 2Northcat 39.17716 Huy hiệu vàng45 Huy hiệu bạc49 Huy hiệu đồng 4Đã trả lời ngày 9 tháng 12 năm 2014 lúc 7:08 SambasambaMay 1, 2019 at 0:47
6793 Huy hiệu vàng10 Huy hiệu bạc19 Huy hiệu đồngShital Shah Tôi thực sự không hiểu tại sao Python vẫn không có chức năng như vậy. Tôi cũng không đồng ý sử dụng những điều sau12 gold badges224 silver badges180 bronze badges 1 Lý do chính là 3 không có khả năng hoạt động trong một số điều kiện đặc biệt. 5
Phương pháp này làm việc cho tôi giống như sau đây. Nếu bạn có một số mã giả như sau Bạn có thể thay thế nó bằng:1 gold badge14 silver badges25 bronze badges Phương pháp này rất đơn giản và bạn không cần phải thay đổi hầu hết các mã của bạn.Jan 27, 2018 at 21:47
Đã trả lời ngày 8 tháng 2 năm 2018 lúc 7:20wamba Han Luohan Luo1 bronze badge 1 Đọc một tệp theo lô của các dòng 0 (lô cuối cùng có thể ngắn hơn): 6Đã trả lời ngày 25 tháng 2 năm 2018 lúc 22:33Feb 25, 2018 at 22:33
boechat107boechat107boechat107 1.52413 Huy hiệu bạc23 Huy hiệu đồng13 silver badges23 bronze badges 1 Nhận vị trí EOF của tệp: 7và so sánh nó với vị trí hiện tại: 1.Đã trả lời ngày 22 tháng 7 năm 2018 lúc 19:11Jul 22, 2018 at 19:11
К с соКонстантин Ван 10,8K7 Huy hiệu vàng54 Huy hiệu bạc65 Huy hiệu Đồng7 gold badges54 silver badges65 bronze badges Mặc dù cá nhân tôi sẽ sử dụng câu lệnh 2 để xử lý việc mở và đóng tệp, trong trường hợp bạn phải đọc từ Stdin và cần theo dõi ngoại lệ EOF, hãy làm điều gì đó như thế này:Sử dụng thử-bắt với 3 làm ngoại lệ: 8Đã trả lời ngày 12 tháng 1 năm 2016 lúc 4:19Jan 12, 2016 at 4:19
Blairg23Blairg23Blairg23 10,5K6 Huy hiệu vàng70 Huy hiệu bạc70 Huy hiệu đồng6 gold badges70 silver badges70 bronze badges Tôi sử dụng chức năng này: 9
Đã trả lời ngày 31 tháng 7 năm 2016 lúc 22:39Jul 31, 2016 at 22:39
1
Mã này sẽ hoạt động cho Python 3 trở lên 0Đã trả lời ngày 4 tháng 8 năm 2020 lúc 6:17Aug 4, 2020 at 6:17
Bạn có thể thử mã này: 1Đã trả lời ngày 8 tháng 1 lúc 1:44Jan 8 at 1:44
1 Bạn có thể sử dụng đoạn mã bên dưới để đọc từng dòng, cho đến khi kết thúc tệp: 2
Lắp ráp Huy hiệu vàng 11K553 Huy hiệu bạc92 Huy hiệu đồng5 gold badges53 silver badges92 bronze badges Đã trả lời ngày 27 tháng 10 năm 2014 lúc 12:11Oct 27, 2014 at 12:11
A ra rA R 2.5773 huy hiệu vàng19 Huy hiệu bạc37 Huy hiệu đồng3 gold badges19 silver badges37 bronze badges Làm thế nào để bạn tìm thấy EOF của một dòng trong Python?Sử dụng tệp ... open_file = open ("file.txt", "r"). Text = Open_File.đọc(). EOF = Open_File.đọc(). print(text). print(eof). Có EOF trong Python không?EOF là viết tắt của kết thúc tập tin trong Python.EOF bất ngờ ngụ ý rằng trình thông dịch đã kết thúc chương trình của chúng tôi trước khi thực hiện tất cả các mã.Lỗi này có thể xảy ra khi: Chúng tôi không khai báo một câu lệnh cho Loop (while / for). Unexpected EOF implies that the interpreter has reached the end of our program before executing all the code. This error is likely to occur when: we fail to declare a statement for loop ( while / for )
Nhân vật EOF trong Python là gì?EOF là viết tắt của kết thúc tập tin.Vâng, về mặt kỹ thuật, nó không phải là một lỗi, thay vào đó là một ngoại lệ.Ngoại lệ này được nêu ra khi một trong các hàm tích hợp, thường là đầu vào () trả về phần cuối (EOF) mà không cần đọc bất kỳ dữ liệu nào.End Of File. Well, technically it is not an error, rather an exception. This exception is raised when one of the built-in functions, most commonly input() returns End-Of-File (EOF) without reading any data.
Làm cách nào để thêm EOF trong Python?f = mở ("myfile.txt", "r"). Trong khi đúng:. dòng = f.ĐỌC LINE (). Nếu không dòng:. In ("EOF đạt được"). break.. print(line). |