解决相对路径下“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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐