Как избежать одиночной кавычки из строки

Это моя проблема:

fpaths=os.listdir(ligand_names_list[0].replace("'", "\\'"))
OSError: [Errno 2] No such file or directory: "5-iodoindirubin-3\\'-oxime"

Есть файл с именем 5-iodoindirubin-3'-oxime но я не могу сделать os.listdir() найти его. Вот еще одна попытка, которую я сделал, вдохновленный этой темой Добавление обратной косой черты без экранирования [Python]:

fpaths=os.listdir(ligand_names_list[0].__ repr __())
OSError: [Errno 2] No such file or directory: '"5-iodoindirubin-3\'-oxime"'

Проблема в этом случае заключается в ведущих одинарных кавычках, которые я не знаю, как их удалить. Любая идея?

1 ответ

Вам не нужно ничего избегать; вам нужно только избегать вещей при вводе строковых литералов в ваш код. Как только строка имеет правильное значение, вы можете просто использовать его как есть.

Файл находится в текущем каталоге или в каком-то другом каталоге? (Текущий каталог - это тот же каталог, в котором находится скрипт Python, если только вы не изменили его.) Если его нет в текущем каталоге, это объяснит, почему он не найден.

(Вы говорите, что это файл; я надеюсь, что это каталог, так как вы звоните os.listdir() в теме...)

Другие вопросы по тегам