常常会用到Path(__file__).parent来获取当前文件所在文件夹的路径, 所以Path(__file__).parent.parent一定是文件所在文件夹的父文件夹吧!

No!

实际上Path(__file__).parent与当前命令位置有关. 举个例子, 假定文件路径为/a/b/c/d/f.py

  1. 当前shell位置为/a/b/c/d 此时的Path(__file__).parent., 对, 就是当前位置. 而.parent属性是纯粹按语法解析的, 所以解析Path(__file__).parent.parent的结果还是.
  2. 当前shell位置为/a/b/c/ 此时的Path(file).parentd, 解析Path(file).parent.parent的结果还是.`, 也就是shell位置