Оператор if при сравнении одной и той же строки переходит к else
Система: win7 x64, Python 3.8
Нужно было проверить находится ли файл по указанному пути(файл там находится 100%):
import subprocess
import os
python = subprocess.check_output('where python', shell=True).decode("utf-8")
print(os.path.exists(python))
Но почему-то вместо True я получаю False. Далее я попробовал указать сразу путь(тот же):
import subprocess
import os
python = subprocess.check_output('where python', shell=True).decode("utf-8")
print(os.path.exists("C:\Program Files\Python38\python.exe"))
На что в этот раз я получил True. Я попробовал просто сравнить с помощью if:
import subprocess
import os
python = subprocess.check_output('where python', shell=True).decode("utf-8")
if (python == r"C:\Program Files\Python38\python.exe"):
print("True")
else:
print("False")
И тут также False. Т.е. строка не ровняется указанному значению? Я также выводил строки с помощью print() и проверял их тип с помощью type(), строки полностью одинаковые. Что я делаю не так и как то исправить?
Проверка файла осуществляется через функцию exists
Вoзвращает false, если файла нет. Иначе true
file = os.path.exists('test.txt')