#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()