मैं एक ऐसी स्क्रिप्ट लिख रहा हूं जो किसी अन्य प्रोग्राम से त्रुटियों को लॉग करता है और उस प्रोग्राम को पुनरारंभ करता है जहां इसे किसी त्रुटि का सामना करना पड़ता है। जो भी कारणों से, इस कार्यक्रम के डेवलपर्स को इस कार्यक्षमता को डिफ़ॉल्ट रूप से अपने प्रोग्राम में रखना आवश्यक नहीं था।मिक्सिंग फ़ाइलें और लूप
वैसे भी, प्रोग्राम एक इनपुट फ़ाइल लेता है, इसे पार करता है, और आउटपुट फ़ाइल बनाता है। इनपुट फ़ाइल एक विशिष्ट स्वरूप में है:
UI - 26474845
TI - the title (can be any number of lines)
AB - the abstract (can also be any number of lines)
कार्यक्रम एक त्रुटि फेंकता है, यह आपको संदर्भ जानकारी आप त्रुटि ट्रैक करने की जरूरत देता है - अर्थात्, यूआई, जो धारा (शीर्षक या सार), और शीर्षक या सार की शुरुआत के सापेक्ष रेखा संख्या। मैं इनपुट फ़ाइल से अपमानजनक वाक्यों को एक फ़ंक्शन के साथ लॉग करना चाहता हूं जो संदर्भ संख्या और फ़ाइल लेता है, वाक्य पाता है, और इसे लॉग करता है। ऐसा करने का सबसे अच्छा तरीका यह है कि मैं फ़ाइल के माध्यम से एक निश्चित संख्या (अर्थात्, एन बार, जहां एन सेकिटॉन की शुरुआत के सापेक्ष रेखा संख्या है) के माध्यम से आगे बढ़ना शामिल है। तरीका है कि समझ बनाने के लिए लग रहा था यह करने के लिए है:
i = 1
while i <= lineNumber:
print original.readline()
i += 1
मैं नहीं दिख रहा है कि यह कैसे मुझे डेटा खो बनाना होगा, लेकिन अजगर सोचता है कि यह होगा, और ValueError: Mixing iteration and read methods would lose data
कहते हैं। क्या किसी को यह ठीक से कैसे करना है?
-1: कोड स्निपेट से लापता। दिखाए गए कोड से शायद "मूल में कुछ के लिए:" गायब है। –