Tôi đang viết một tập lệnh ghi nhật ký lỗi từ một chương trình khác và khởi động lại chương trình mà nó đã dừng lại khi gặp lỗi. Vì lý do nào đó, các nhà phát triển của chương trình này không cảm thấy cần thiết để đưa chức năng này vào chương trình của họ theo mặc định.Trộn các tệp và vòng
Dù sao, chương trình sẽ lấy tệp đầu vào, phân tích cú pháp và tạo tệp đầu ra. Các tập tin đầu vào là trong một định dạng cụ thể:
UI - 26474845
TI - the title (can be any number of lines)
AB - the abstract (can also be any number of lines)
Khi chương trình ném một lỗi, nó mang lại cho bạn những thông tin tham khảo bạn cần phải theo dõi các lỗi - cụ thể là, giao diện người dùng, trong đó phần (tiêu đề hoặc trừu tượng), và số dòng tương ứng với phần đầu của tiêu đề hoặc tóm tắt. Tôi muốn đăng nhập các câu vi phạm từ tệp đầu vào bằng hàm có số tham chiếu và tệp, tìm câu và ghi lại. Cách tốt nhất tôi có thể nghĩ đến việc thực hiện nó liên quan đến việc di chuyển về phía trước thông qua tập tin một số lần cụ thể (cụ thể là, n lần, trong đó n là số dòng tương ứng với đầu của seciton). Cách mà dường như làm cho tinh thần để làm điều này là:
i = 1
while i <= lineNumber:
print original.readline()
i += 1
Tôi không thấy như thế nào điều này sẽ làm cho tôi mất dữ liệu, nhưng Python nghĩ rằng nó sẽ, và nói ValueError: Mixing iteration and read methods would lose data
. Có ai biết làm thế nào để làm điều này đúng không?
-1: Mã mất tích từ đoạn. Có thể có chữ "for something in original:" bị thiếu trong đoạn mã được hiển thị. –