объявление Unicode в Python и необработанная строка в комментариях

#python #unicode

#python #unicode

Вопрос:

По умолчанию мои файлы Python имеют следующее в верхней части файла:

 # -*- coding: utf-8 -*-
  

Что, как я только что заметил, не имеет значения, потому что я использую Python 3… (та же проблема, что и ниже, возникает без этой строки)

Чего я никогда раньше не рассматривал, так это того, как это взаимодействует с необработанными строками, которые находятся в коде или в комментариях. В частности, у меня было следующее в качестве комментария к блоку, который при импорте модуля вызывал следующую ошибку:

 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 42-43: truncated UXXXXXXXX escape
  

Это имеет смысл, учитывая приведенный ниже код, но, очевидно, не то, что я хотел. Есть ли простой способ обойти эту проблему? Это определенное поведение или какой-то пограничный случай?

 """
    #Test Code:
    import adi
    f = adi.read_file(r'C:UsersRNELDesktoptesttest_file.adicht')
"""
  

Очевидно, что проблема вызвана U в коде, но это необработанная строка … но это внутри комментария …

Использование Python 3.6.5 …

Ответ №1:

""" в Python это не необработанная строка, а только многострочная. По-прежнему применяются Escape-последовательности.

Вы имели в виду использовать r""" ?

Комментарии:

1. … Я никогда не рассматривал возможность использования, r""" потому что я всегда думаю о """ как о комментарии! Это простое исправление, которое мне было нужно, спасибо!