Ошибка ввода-вывода: [Ошибка 13] Отказано в разрешении при открытии файла

#python #text-files

Вопрос:

изучаю ComSci первого года обучения и пытаюсь открыть файл. Вот мой код:

 def main():
    filename = raw_input("Please enter file name ")
    infile = open(filename,'r')
    data = infile.read()
    print data
main()
 

Я считаю, что код правильный, но когда я пытаюсь открыть файл, например
C:UsersManolOneDriveDocumentsUniProgrammingFile Обработка Файла

Он возвращается с

 Traceback (most recent call last):
  File "C:UsersManolOneDriveDocumentsUniProgrammingFile Processing FileFirstFileProcessingRead.py", line 6, in <module>
    main()
  File "C:UsersManolOneDriveDocumentsUniProgrammingFile Processing FileFirstFileProcessingRead.py", line 3, in main
    infile = open(filename,'r')
IOError: [Errno 13] Permission denied: 'C:\Users\Manol\OneDrive\Documents\Uni\Programming\File Processing File'
 

Комментарии:

1. Существует ли файл и есть ли у вас права на его чтение?

2. Файл в примере не имеет расширения. Пожалуйста, убедитесь, что путь к файлу указан правильно. Также попробуйте другой файл, который, возможно, находится в том же каталоге, что и файл python.

Ответ №1:

Проблема:

Во время установки, когда вы выбираете установить python только для меня, эта проблема, скорее всего, возникнет, потому что python не имеет разрешения на чтение каждого местоположения, в вашем случае одного диска.

Решение:

  • Поместите файл в корневую папку вашего файла python, то есть в папку, в которую вы поместили файл python, тогда это сработает.
  • Вы также не предоставляете расширение (.txt). Не забудьте указать его при вводе данных.

Ответ №2:

Помимо вашей проблемы с разрешениями, open() не нуждается в расширении файла для правильной работы?

 aa = open("C:\aaa\bbb\ccc\ddd.json","r")
 

будет работать, в то время как

 aa = open("C:\aaa\bbb\ccc\ddd","r")
 

будет возвращать

 FileNotFoundError: [Errno 2] No such file or directory: 'C:\aaa\bbb\ccc\ddd'
 

Чтобы проверить права доступа к папкам — скопируйте файл в ту же область, что и ваш .py, и попробуйте открыть его там. Если у вас все еще те же проблемы, то имеет ли ваша учетная запись права на файл? (щелкните правой кнопкой мыши >>> безопасность)

Комментарии:

1. Привет, спасибо за это, я не использовал расширение файла (плюс я допустил еще несколько глупых ошибок) Спасибо вам за вашу помощь!

Ответ №3:

Посмотрите, зашифрован ли файл, и поставьте две обратные косые черты ( \ ) или замените на прямую косую черту ( / ) и укажите расширение файла

Я немного изменил ваш код.

 def main():
    print("Please enter file name:")
    filename = input()
    infile = open(filename,'r')
    data = infile.read()
    print(data)
main()
 

введите описание изображения здесь

введите описание изображения здесь