指定正确路径时的FileNotFoundError

时间:2017-09-23 10:24:33

标签: python

我在以下目录中有一个main.py文件:

/Users/username/Projects/maps/Debugging/genericbot/main.py

此脚本main.py从db.py文件导入一个函数(通过下面描述的符号链接),并执行它:

/Users/username/Projects/maps/Debugging/genericbot/other_project/db.py

我在两者之间创建了一个符号链接,如下所示:

ln -s /Users/username/Projects/other_project
/Users/username/Projects/maps/Debugging/genericbot/other_project

导入正常,但是当我想打开文件时,通过在/other_project/db.py文件夹中运行以下代码,如下所示:

import pickle, os

database_filename = "/Users/username/Projects/other_project/db.p"

def load_db():
    db = pickle.load( open( database_filename, "rb" ) )
    return db

尽管路径是绝对正确的,但它返回以下错误:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/username/Projects/other_project/db.p'

我试过像这样指定绝对路径(到链接):

/Users/username/Projects/maps/Debugging/genericbot/other_project/db.p

但这似乎也不起作用。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在符号链接等方面,这可能是文件系统级问题,确保您从终端获得正确位置的文件:

ls -alh /Users/username/Projects/other_project/

确保您的db.p存在,您可能希望找到该文件的确切位置:

find /Users/username/Projects/ -name 'db.p'