Başka bir programdan hataları günlüğe kaydeder ve bir hatayla karşılaştığında bıraktığı programı yeniden başlatan bir komut dosyası yazıyorum. Hangi sebepten ötürü, bu programın geliştiricileri bu işlevi varsayılan olarak programlarına koymanın gerekli olmadığını hissetmişlerdir.Dosyaları ve döngüler karıştırma
Her durumda, program bir girdi dosyası alır, ayrıştırır ve bir çıkış dosyası oluşturur. Giriş dosyası belirli bir biçimde geçerli:
UI - 26474845
TI - the title (can be any number of lines)
AB - the abstract (can also be any number of lines)
programı bir hata atar, bu size hatayı izlemek için ihtiyaç referans bilgi verir - yani, UI, bölüm (başlık veya soyut) ve başlığın veya özetin başlangıcına göre satır numarası. Giriş dosyasından gelen suçları, referans numarasını ve dosyayı alan, cümleyi bulan ve onu kaydeden bir işlevle kaydetmek istiyorum. Bunu yapmayı düşünebilmemin en iyi yolu, dosya boyunca belirli bir sayıda ilerlemeyi (n, n'nin, secitonun başlangıcına göre satır numarasıdır) içermesini içerir.
i = 1
while i <= lineNumber:
print original.readline()
i += 1
Bu beni verileri kaybetmek yapacak nasıl görmüyorum, ama Python it would düşünür ve ValueError: Mixing iteration and read methods would lose data
diyor ki: Bunu yapmak için mantıklı görünüyordu yoludur. Bunu nasıl yapacaklarını bilen var mı?
-1: Kod pasajı eksik. Muhtemelen, gösterilen koddan eksik olan bir "orijinalde bir şey için" var. –