2015-06-30 3 views
1

В верхней части моего питона сценария у меня есть некоторые документы, формысимволов в комментарии дают ошибку

"""! 
Documentation: \\storage1\gis\Nbig.docx 
""" 
if __name__ == '__main__': 
    print("Hello world.") 

При запуске он дает SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 31-32: malformed \N character escape

Почему это происходит и как это можно предотвратить против ? Я хотел бы иметь сетевой путь к документации в комментариях. Кстати, я нашел его из другого примера, но что делает ! после """?

Обновление: оно работает. Кажется, что LiClipse не пострадает от ошибки, но работает Python из командной строки.

+0

вам следует избегать обратной косой черты '\' с двойными обратными косыми чертами '\\'. –

+2

Хотя это комментарий, docstrings в python рассматриваются как строковые литералы, поэтому они все еще интерпретируются интерпретатором. Вам нужно избежать обратных косых черт, чтобы заставить его работать. – Brobin

+0

Восклицательный знак '!' Может быть там из-за разбора docstring с помощью 'doxygen', как описано в этом вопросе [SO question] (http://stackoverflow.com/a/15535484/3991125) – albert

ответ

4

Попробуйте использовать формат исходной строки, добавив строку с номером r.

Пример -

r"""! 
Documentation: \\storage1\gis\Nbig.docx 
""" 

По предваряя r мы уверены, что ни один из \ не рассматриваются как экранирующие символы

1

Вы должны избежать \, так что используйте \ вместо \ и \\ вместо of \. И восклицательный знак является директивой для инструмента документации Doxygen.

Смежные вопросы