मैंने हाल ही में Py 3.5 में माइग्रेट किया है। पायथन 2.7 में यह कोड ठीक से काम कर रहा था:
with open(fname, 'rb') as f:
lines = [x.strip() for x in f.readlines()]
for line in lines:
tmp = line.strip().lower()
if 'some-pattern' in tmp: continue
# ... code
3.5 में अपग्रेड करने के बाद, मुझे यह मिल रहा है:
TypeError: a bytes-like object is required, not 'str'
अंतिम पंक्ति (पैटर्न खोज कोड) पर त्रुटि।
मैंने .decode()कथन के दोनों ओर फ़ंक्शन का उपयोग करने की कोशिश की है, यह भी कोशिश की है:
if tmp.find('some-pattern') != -1: continue
- कोई फायदा नहीं।
मैं लगभग सभी 2: 3 मुद्दों को जल्दी से हल करने में सक्षम था, लेकिन यह छोटा सा बयान मुझे परेशान कर रहा है।
result = requests.getऔर मैं करने का प्रयास करता हूं x = result.content.split("\n")। मैं त्रुटि संदेश से थोड़ा भ्रमित हूं क्योंकि यह प्रतीत होता है कि result.contentयह एक स्ट्रिंग है और .split()बाइट्स जैसी वस्तु की आवश्यकता है .. ?? ("बाइट्स जैसी वस्तु की आवश्यकता है, 'str' नहीं))