首页 > 解决方案 > Python Pathlib 索引错误

问题描述

我在我的 AWS 实例上使用以下行时遇到问题。代码在我的 Macbook 上运行良好。这里有什么问题?我检查了目录,它存在,路径没有问题。

图像 - 代码输出

s = str(Path(Path('__file__').parents[1] / 'lib'))
print(s)

.

File "/usr/lib/python3.6/pathlib.py", line 594, in __getitem__
raise IndexError(idx)
IndexError: 1

标签: pythondirectorylibpathlib

解决方案


据我了解,您正在尝试打印名为lib该目录的同级parent[1]目录。

但是您Path('__file__')不返回当前文件路径。

如果您希望cd ../lib从文件目录执行此操作,则应首先获取文件的绝对路径,然后从那里开始,如下所示。

示例文件

from pathlib import Path
import os
print(os.path.abspath(__file__))
s = str(Path(Path(os.path.abspath(__file__)).parents[1] / 'lib'))
print(s)

输出:

..../Downloads/f1/samp.py
..../Downloads/lib

推荐阅读