Python экранирование вкладок и символы новой строки - PullRequest
0 голосов
/ 01 апреля 2020

Буду признателен за помощь в эффективном решении Pythoni c для этой проблемы.

Наши внутренние стандарты кодирования требуют, чтобы определенные информационные поля были в блочном комментарии вверху файла. В Perl это был, очевидно, блок текста, начинающийся с '#'.

Я экспериментирую с включением этой информации в строку документации модуля в Python. Проблема в том, что мне нужно получить доступ к этой информации в программе.

Я хирургически расширил docstring_parser, чтобы распознать информационные поля и создать структуру данных. Это все работает.

За исключением того, что одно из полей содержит местоположение исходного файла. Это нормально для Unix, но мы являемся кроссплатформенным магазином, и Windows использует '\' в качестве разделителя пути. Python решает обработать это как универсальные символы новой строки и табуляции с странными результатами.

Таким образом, строка %workspace%\PythonLib\rr2\tests\test_rr2.py

будет отображаться как:

%workspace%\PythonLib
r2      ests    est_rr2.py

, которая не больше не читается.

Исправление, которое я пытался исправить, основано на повторных применениях str.replace (), но есть ли лучший способ?

1 Ответ

0 голосов
/ 01 апреля 2020

@ user2357112 правильно. Строка документации может быть сделана необработанной, начиная с r""", и тогда все работает.

...