@AVIMIR

PermissionError: [Errno 13] Permission denied: '.' при попытке открыть текстовый документ. Что делать?

Не смотря на наличие прав администратора и нахождения файла в директории с самим "юпитером", он не может открыть файл командой filr = open(cur_path, "r") (На cur_path не ругается, там всё чётко).
В интернете так и не нашёл ответа (не исключено, что плохо искал)
Код:
from pathlib import Path
cur_path = Path()
print(cur_path.joinpath("C:", "Users", "Admin", "Appadata", "Roaming", "Microsoft", "Windows", "Start menu", "Programs", "Anaconda3 (64-bit)", "gigig.txt"))
filr = open(cur_path, 'r')
a = filr.read()
print(a)
filr.close()

Ошибка:
ermissionError Traceback (most recent call last)
in
2 cur_path = Path()
3 print(cur_path.joinpath("C:", "Users", "Vovan", "Appadata", "Roaming", "Microsoft", "Windows", "Start menu", "Programs", "Anaconda3 (64-bit)", "gigig.txt"))
----> 4 filr = open(cur_path, 'r')
5 a = filr.read()
6 print(a)

PermissionError: [Errno 13] Permission denied: '.'
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 3
@zexer
Выглядит, словно вы пытаетесь открыть файл ".", что очевидно не получится сделать.
Покажите что у вас лежит в cur_path
Ответ написан
@bacon
На cur_path не ругается, там всё чётко
Добавил в текст вопроса
Как раз не "всё чётко", после своего print, еще раз сделай print(cur_path), чтобы понять, что ты делаешь не так
Ответ написан
@o5a
Всё логично, у вас cur_path не изменяется, т.к. cur_path.joinpath не меняет саму cur_path а только возвращает измененный путь.

Поэтому при открытии по cur_path пытается открыть просто корневой каталог "." на него и ругается.

Нужно присваивать результат joinpath

cur_path = cur_path.joinpath(...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы