python - NameError: पाइथन 3 में वैश्विक नाम 'यूनिकोड' परिभाषित नहीं किया गया है




unicode python-3.x (2)

मैं बिडी नामक एक पायथन पैकेज का उपयोग करने की कोशिश कर रहा हूं। इस पैकेज (algorithm.py) में एक मॉड्यूल में कुछ पंक्तियां हैं जो मुझे त्रुटि देती हैं, हालांकि यह पैकेज का हिस्सा है।

यहां रेखाएं हैं:

# utf-8 ? we need unicode
if isinstance(unicode_or_str, unicode):
    text = unicode_or_str
    decoded = False
else:
    text = unicode_or_str.decode(encoding)
    decoded = True

और यहां त्रुटि संदेश है:

Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    bidi_text = get_display(reshaped_text)
  File "C:\Python33\lib\site-packages\python_bidi-0.3.4-py3.3.egg\bidi\algorithm.py",   line 602, in get_display
    if isinstance(unicode_or_str, unicode):
NameError: global name 'unicode' is not defined

मुझे कोड के इस भाग को फिर से लिखना चाहिए ताकि यह पायथन 3 में काम करे? इसके अलावा अगर किसी ने पाइथन 3 के साथ बोली पैकेज का उपयोग किया है तो कृपया मुझे बताएं कि क्या उन्हें समान समस्याएं मिली हैं या नहीं। तुम्हारी सहायता सराहनीय है।


आप पाइथन 2 और 3 दोनों का समर्थन करने के लिए six लाइब्रेरी का उपयोग कर सकते हैं:

import six
if isinstance(value, six.string_types):
    handle_string(value)

आशा है कि आप पाइथन 3 का उपयोग कर रहे हैं, स्ट्र डिफ़ॉल्ट रूप से यूनिकोड हैं, इसलिए कृपया स्ट्रिंग Str फ़ंक्शन के साथ Unicode फ़ंक्शन को बदलें।

if isinstance(unicode_or_str, str):    ##Replaces with str
    text = unicode_or_str
    decoded = False






bidi