python - 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
解决方案
据我了解,您正在尝试打印名为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
推荐阅读
- angular - 在两个库Angular 9中使用环境变量
- r - 如何在 DropBox 上存储数据文件
- c# - 如何使用 Form.Show(IWin32Window)
- python - 使用“pd.concat”的问题。两个数据框的列长度和“NaN”值加倍,而不是合并行
- android - 将 RSA 密钥缩短到 64 字节是否安全?
- mongodb - 如何使用 mongoose 处理 mongoDB 故障转移(重新选举)?
- python - q 代理正在学习不采取任何行动
- math - 为什么 G3 连续性只能在两条边之间实现?
- c - 使用循环打印
- mysql - 如果使用 SQL 的另一列中至少存在一个字符串,我需要显示数据