Python воспринимает 1 обратный слеш как 2, поэтому пишет что файл не найден
with open("C:\old\Files\Скрипты\Python\мини проекты\Python\мини проекты\stat.json", "r+", encoding='utf-8') as STAT:
Стата = load(STAT)
есть следующий код, имеется по одному слешу, но как запускаю код то вместо одного слеша выводит два, из-за чего выводит ошибку, что файл не найден. Вот сама ошибка:
Возникло исключение: FileNotFoundError
[Errno 2] No such file or directory: 'C:\\old\\Files\\Скрипты\\Python\\мини проекты\\Python\\мини проекты\\stat.json'
Ответы (3 шт):
Автор решения: Stepan Turbasov
→ Ссылка
Обратный слеш специальный символ, он применяется для экранирования других символов. Попробуйте продублировать их:
with open("C:\\old\\...\\...")
Или обыкновенные слеши могут помочь:
with open("C:/old/.../...")
Автор решения: Amgarak
→ Ссылка
Вариант 1: Два обратных слеша
with open("C:\\old\\Files\\Скрипты\\Python\\мини проекты\\Python\\мини проекты\\stat.json", "r+", encoding='utf-8') as STAT:
Стата = load(STAT)
Вариант 2: Префикс r
with open(r"C:\old\Files\Скрипты\Python\мини проекты\Python\мини проекты\stat.json", "r+", encoding='utf-8') as STAT:
Стата = load(STAT)
Автор решения: V. Fedulov
→ Ссылка
Можно использовать функцию join из стандартного модуля os (см. os.path.join).
Пути в Windows имеют свои особенности. Как эти особенности учесть, показано в этом решении, согласно которому абсолютный путь в ОС следует составлять так:
import os
# Указание абсолютных путей:
# - в Windows
mypath = os.path.join('c:/', 'somedir', 'somefile.json')
# - в Linux и др.
mypath = os.path.join('/', 'home', 'somedir', 'somefile.json')
И полученный путь mypath использовать в операторе контекста with.