python2
से 3
करने के लिए कोड पोर्टिंग करते हुए मैं इस त्रुटि जब किसी URLpython3 त्रुटि: initial_value str होना चाहिए या कोई नहीं
TypeError: initial_value must be str or None, not bytes.
import urllib
import json
import gzip
from urllib.parse import urlencode
from urllib.request import Request
service_url = 'https://babelfy.io/v1/disambiguate'
text = 'BabelNet is both a multilingual encyclopedic dictionary and a semantic network'
lang = 'EN'
Key = 'KEY'
params = {
'text' : text,
'key' : Key,
'lang' :'EN'
}
url = service_url + '?' + urllib.urlencode(params)
request = Request(url)
request.add_header('Accept-encoding', 'gzip')
response = urllib.request.urlopen(request)
if response.info().get('Content-Encoding') == 'gzip':
buf = StringIO(response.read())
f = gzip.GzipFile(fileobj=buf)
data = json.loads(f.read())
अपवाद इस लाइन
buf = StringIO(response.read())
पर फेंक दिया जाता है से पढ़ पाने
यदि मैं पायथन 2 का उपयोग करता हूं, तो यह ठीक काम करता है।
क्या आप पूर्ण ट्रेसबैक प्रदान कर सकते हैं? –
यह सिर्फ यह त्रुटि और रोक देता है। टाइप एरर: प्रारंभिक_वैल्यू यूनिकोड या कोई नहीं होना चाहिए, स्ट्र – AMisra
नहीं क्या आप अपने चर 'url' का मान शामिल कर सकते हैं? जब मैं इसे 'url =' http: // www.google.com 'के साथ आज़माता हूं तो कोड मेरे लिए ठीक चलाता है – maxymoo