Python: Как исправить ошибку [errno 2] при попытке открыть текстовый файл?

Я пытаюсь изучить Python в свое свободное время, и мой учебник не покрывает ничего о моей ошибке, поэтому я, должно быть, что-то испортил. Когда я пытаюсь открыть и прочитать текстовый файл через блокнот (в Windows) с моим кодом, он вызывает ошибку. Мой код:

def getText():
    infile = open("C:/Users/****/AppData/Local/Programs/Python/Python35-32/lib/book.txt" , "r")
    allText = infile.read()
    return allText

Если это необходимо, вот остальная часть моего кода:

def inspectWord(theWord,wList,fList):
    tempWord = theWord.rstrip(""'.,`;:-!")
    tempWord = tempWord.lstrip(""'.,`;:-!")
    tempWord = tempWord.lower()
    if tempWord in wList:
        tIndex = wList.index(tempWord)
        fList[tIndex]+=1
    else:
        wList.append(tempWord)
        fList.append(1)

def main():
     myText = getText()
     print(myText)

main()

Я был бы очень признателен за любые советы и т. Д .; Я не могу найти никакой помощи для этого. Спасибо всем, кто отвечает.

python,error-handling,

0

Ответов: 2


1

Чтобы открыть файл юникода, вы можете сделать следующее

import codecs

def getText():
    with codecs.open("C:/Users/****/AppData/Local/Programs/Python/Python35-32/lib/book.txt" , "r", encoding='utf8') as infile:
        allText = infile.read()
    return allText

См. Также: Чтение символов из файла в Python


0

Прежде всего, я рекомендую использовать относительный путь, а не абсолютный путь. Это проще и сделает вашу жизнь проще, особенно теперь, когда вы только начали изучать Python. Если вы знаете, как обращаться с командной строкой, запустите новую командную строку и перейдите в каталог, в котором находится ваш исходный код. Создайте там новый текстовый файл, и теперь вы можете сделать что-то вроде

 f = open("myfile.txt")


Ваша ошибка указывает на то, что что-то не так с путём, который вы передали встроенной функции open . Попробуйте это в интерактивном режиме,

>> import os
>> os.path.exists("C:/Users/****/AppData/Local/Programs/Python/Python35-32/lib/book.txt")

Если это возвращает False, в вашем getText fuction нет ничего плохого . Просто передайте правильный путь для открытия функции.

питон, обработка ошибок,
Похожие вопросы