sqlalchemy session.query странность - двойной выход - PullRequest
0 голосов
/ 03 мая 2018

У меня есть таблица с информацией о файлах в моей БД, и я пытаюсь запросить и вернуть столбец file_path результата в виде списка строк.

Мой код выглядит ниже

path_found = session.query(db.file_table.path).filter([filters]).all()

Возвращает список sqlalchemy.util._collections.result вместо списка строк. Поэтому я сделал преобразование, используя следующую строку

result = [str(path) for path in path_found]

Однако что-то действительно странное происходит с этим. Если я получаю доступ к пути, например, к обозначению «path_found [0] .path», обратная косая черта в пути к файлу экранируется один раз как;

"\\Users\\Public\\current\\1.PNG"

, но если я использую преобразование и использую строковый результат [0], обратные слэши экранируются дважды, поэтому я получаю что-то вроде;

"\\\\Users\\\\Public\\\\current\\\\1.PNG". 

Я использовал грубую силу для удаления лишних слешей;

result[0].replace('\\\\', "\\")

Есть ли лучший способ справиться с этой ситуацией, возможно, предотвратить двойное побег с самого начала?

1 Ответ

0 голосов
/ 03 мая 2018

Вы уверены, что правильно понимаете список? Вам не нужно result = [path.path for path in path_found]?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...