Как я могу справиться с "недопустимым синтаксисом" поднять e из None "в Python 2.6 / 7? - PullRequest
0 голосов
/ 20 ноября 2019

Я пытаюсь импортировать pylablib в python 2.7, и я получаю сообщение об ошибке: неверный синтаксис 'подъем e из None' в py3.py, который должен быть о совместимости между python 2 и 3. Я пытался избавиться от'from None', потому что, похоже, ошибка указывает на 'from', но в нем говорится, что файл доступен только для чтения.

Должен ли я попытаться перезаписать файл только для чтения (и как)? Или это большая проблема с использованием Python 2?

(ниже приведен весь первый бит кода py3.py до ошибки)

"""
Dealing with Python2 / Python3 compatibility.
"""
from builtins import bytes as new_bytes

if str is bytes: # Python 2

    textstring=(basestring,)
    bytestring=(str,new_bytes)
    anystring=(str, unicode)

    def as_str(data):
        return data
    def as_bytes(data):
        return new_bytes(data)
    def as_builtin_bytes(data):
        return data

else:

    import locale
    locenc=locale.getpreferredencoding()
    use_locenc=True

    textstring=(str,)
    bytestring=(bytes,)
    anystring=(str,bytes)

    def as_str(data):
        try:
            return data if isinstance(data,str) else data.decode()
        except UnicodeDecodeError as e:
            if use_locenc:
                return data.decode(encoding=locenc)
            raise e from None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...