在Python中打开和读取文件

时间:2019-04-15 18:39:40

标签: python

由于某种原因,我无法在python中打开.txt文件。

我在文件夹中有.py和.txt文件。这两个文件都存储在工作区->文件夹(崩溃课程)->文件夹(课程)->文件夹(Ch 10)->此Ch 10文件夹中的两个文件中。

我得到

FileNotFoundError: [Errno 2] No such file or directory: 'pi_digits.txt'

使用代码:

with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)

6 个答案:

答案 0 :(得分:2)

我将文件的完整路径与 r 一起使用,用于原始字符串。为我工作。 例如:

$.each(data, function(key, value){


    if (value.foo===bar) {
        //do something
        // if this is the last which has a foo which is === bar then do something
    }

});

答案 1 :(得分:1)

对于问这个问题的人来说,这要少一些,但对于像我这样的人来说,来自Python速成课程中的相同问题,却没有得到他们所寻找的答案:

如果像我一样,您是从文本编辑器运行代码(在我的情况下是VS Code),则编辑器中的终端窗口 可能不在正确的目录中。我没有意识到自己,因为我在想,因为我从终端中正确的工作目录中打开了.py文件,因此一切都应按计划进行。直到我意识到编辑器中的终端是一个单独的实例(因此将当前工作目录而不是我的PCC工作文件夹)放到了我之后,程序才能按预期运行。

简而言之,在编辑器的终端实例中导航至正确的目录,该程序应按预期运行。

希望这会有所帮助!

image with terminal open on desktop and in text editor to show working directory difference

答案 2 :(得分:0)

文件的路径是相对于您从中运行python文件的位置,而不是从python文件所在的位置。

要么从与文件相同的目录中运行代码,要么根据python文件的位置将文件路径设为绝对路径。

import os

with open(os.path.join(os.path.dirname(__file__), 'pi_digits.txt')) as file_object:
    contents = file_object.read()
    print(contents)

希望有帮助

答案 3 :(得分:0)

您可以尝试获取文件的完整路径

import os

dir_path = os.path.dirname(os.path.realpath(__file__))
pi_digits = os.path.join(dir_path, 'pi_digits.txt')

with open(pi_digits, r) as file_object:
    print(file_object.read())

答案 4 :(得分:0)

尝试一下:

with open('c:\\Workspace\\Crash Course\\Lessons\\Ch 10\\pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)

答案 5 :(得分:0)

您可能必须启用“在文件目录中执行” vscode setting