Как избежать одиночной кавычки из строки
Это моя проблема:
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()
в теме...)