解决相对路径下“No such file or directory”问题

这个问题其实非常简单,是因为你的main.py文件与当前编辑的.py文件路径有差别,系统默认的路径是从main文件出发的(详细的可以参考别的blog,有很多)。

要解决这个问题也非常简单,只需要简单一句代码获取到当前文件的绝对路径:

current_path = os.path.dirname(__file__)

然后在后面所有需要用到相对路径的地方加上这个current_path就Ok啦~

下面举个栗子~ 你如果是这样写的:

with open('../data/' + dataset + '.txt', 'r') as f:
    lines = f.readlines()

然后报了“No such file or directory”错误,那么不妨这样:

with open(current_path + '/../data/' + dataset + '.txt', 'r') as f:
    lines = f.readlines()

另外,如果你想要import上一层文件夹下的utils等文件中的diy库,那么只需要在引用前加入下面一句代码就阔以勒:

sys.path.append(os.path.abspath(os.path.join(current_path, '../')))

小小的改动,机器就不再罢工啦~

你学废了吗?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐