由于某种原因,我无法在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)
答案 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