Python:如何在尝试打开文本文件时修复[errno 2]?

时间:2016-10-14 04:32:28

标签: python error-handling

我正在尝试在空闲时间学习Python,而我的教科书并没有涵盖任何有关我的错误的内容,所以我必须在某个地方搞砸了。当我尝试使用我的代码通过记事本(在Windows上)打开和读取文本文件时,会产生错误。我的代码是:

chrome.exe

如果有必要,到目前为止我的代码的其余部分是:

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

我非常感谢任何建议等;我找不到任何帮助。感谢任何响应的人。

2 个答案:

答案 0 :(得分:1)

要打开unicode文件,您可以执行以下操作

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

另请参阅:Character reading from file in Python

答案 1 :(得分:0)

首先,我建议你使用相对路径,而不是绝对路径。它更简单,特别是现在您开始学习Python时,会让您的生活更轻松。如果您知道如何处理命令行,请运行新的命令行并移至源代码所在的目录。在那里制作一个新的文本文件,现在你可以做一些像

这样的事情
 f = open("myfile.txt")


您的错误表示您传递给内置功能打开的路径有问题。以交互模式尝试此操作

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

如果返回False,则 getText 功能没有任何问题。只需将正确的路径传递给打开功能。