混淆问题 >> FileNotFoundError: [Errno 2] 没有这个文件或目录:

4

这个问题让我感到困惑。 也许问题出在代码上,我希望你能看一下。

        with open(training_images_labels_path,'r') as file:
            lines = file.readlines()

他说文件不存在。
FileNotFoundError: [Errno 2] No such file or directory: '\\Desktop\\project\\data\\generated\\training_images_labels.txt'

虽然文件已经存在

我需要解决方案。


2
在Linux上:路径看起来非常不寻常,且斜杠方向错误。在Windows上:没有驱动器字母?此外,以\\开头的路径极不可能是C:\Desktop\...,因为这表示根目录。请再次确认该路径是否真实存在。 - Caramiriel
2
你使用的是iOS、Windows还是Linux操作系统? - seralouk
我正在使用Windows。 - salaheddine97
如果你正在使用文本编辑器或者像VS Code这样的东西,请尝试在IDLE中运行代码。不知道为什么,但它有效。 - Is_this_my_username
5个回答

6

如果指定的文件存在但提示文件不存在,这意味着路径没有正确给出。请尝试正确地给出路径。

方法1:

正确给出路径为 'C:\\Users\\Public\\Desktop\\project\\data\\generated\\training_images_labels.txt' 或者

'C:\\Users\\<插入你的用户名>\\Desktop\\project\\data\\generated\\training_images_labels.txt' 如果我猜得对的话,这是你的路径

方法2:

使用os模块(推荐)

mydir = 'C:/Users/Public/Desktop/project/data/generated'
myfile = 'training_images_labels.txt'
training_images_labels_path = os.path.join(mydir, myfile)

with open(training_images_labels_path,'r') as file:
    lines = file.readlines()

方法三:

您还可以尝试将工作目录更改为包含数据的位置。例如,这里是桌面>项目>数据>生成,然后使用文件名打开文件。

with open('training_images_labels.txt','r') as file:
        lines = file.readlines()

在Windows中,您可以使用USERPROFILE环境变量。 mydir = ' %userprofile%/桌面/项目/数据/生成的' - cadvena

1
我曾经遇到了导入Excel文件的问题,该文件当然与我的.py文件在同一个目录中。上面提供的方法并没有帮助我,实际上我也不理解那三种方法,因为我正在使用mac OS系统。
这个方法对我有用:在Spyder中,我通常通过按下“Shift + Enter”键来运行文件,但在这种情况下会出现问题。所以,我的解决方案是,改为点击“Run file”按钮(或fn+F5键)来运行文件。
也许有人想解释一下其中的区别。

0

你能告诉我你是如何创建这个路径的吗?有什么建议吗? 使用路径分隔符库来生成路径,以避免出现此错误。

training_images_labels_path

尝试使用Python导航到父目录并打印路径,可能会出现一些换行符或Linux / Windows转换的路径或其他特殊字符。通过导航到父目录并列出内容来解决问题。
如果仍然无法解决,请尝试导航到父级目录的父级目录并打印路径。
加油!

0

检查一下你的路径是否正确。我曾经遇到过同样的问题,结果发现我的路径设置不正确。


欢迎来到SO!在回答旧问题之前,请检查它是否已有被接受的答案(这是本例的情况)。如果有,那么请问自己:你的答案是否提供了实质性的改进或全新的东西?如果没有,就不要回答。 - Timus

0

看起来你正在使用Windows路径,我认为错误中提到的路径与实际txt文件所在的位置不符。请再次交叉检查,如果是这种情况,请尝试将正确的路径传递给变量“training_images_labels_path”。


路径是正确的,但尝试更新路径并将文件传输到具有相同问题的第三方。 - salaheddine97

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接