मैं निम्नलिखित फ़ाइल है पर chokes:लाइन पढ़ने 0x1A
abcde
kwakwa
<0x1A>
line3
linllll
कहाँ <0x1A>
0x1A के हेक्स मान के साथ एक बाइट प्रतिनिधित्व करता है।
for line in open('t.txt'):
print line,
यह केवल पहले दो लाइनों पढ़ता है, और पाश बाहर निकालता है: जब के रूप में अजगर में इस फ़ाइल को पढ़ने का प्रयास।
यह समाधान बाइनरी (या सार्वभौमिक न्यूलाइन मोड) - 'आरबी' या 'आरयू' में फ़ाइल को खोलने के लिए प्रतीत होता है। क्या आप इस व्यवहार को समझा सकते हैं?
आप कैसे पता चलेगा कि बाइट का प्रतिनिधित्व किया <0x1A>। मेरे लिए यह सिर्फ कहते हैं notepadd में ++ – Programmer
'उप' एक और काम के आसपास अजगर 3 या [ 'io.open()'] (https://docs.python.org/2/library/io.html उपयोग करने के लिए है # io.open) पायथन 2 में; 'io' फ़ाइल ऑब्जेक्ट्स हमेशा ओएस के संबंध में बाइनरी मोड में फ़ाइल का उपयोग करते हैं और इसलिए Windows समय-समय पर फ़ाइल को' समाप्त नहीं 'करेगा। –