Python: 如何在 pathlib 中返回一个文件夹

Python: How to go one folder back in pathlib

看到我的工作文件夹变得混乱后,我将相应的代码文件移到了一个子文件夹中。问题是我的程序使用的数据本身放在现在父文件夹的子文件夹中。我使用 pathlib 从子目录中提取数据,如下所示:

DATA_DIR = pathlib.Path.cwd().joinpath("Kokam NMC 46 Ah EET","CheckUps",
                                       "Calend_ID{id_nr}_{temp}_{SoC}".format(id_nr = id_nr, temp = temp, SoC = SoC ))

其中 Kokam NMC 46 Ah EETCheckUps 的父文件夹,依此类推。现在我需要的是调整这个命令,使路径回到父文件夹,然后 然后 进入 Kokam NMC 46 Ah EET 等。我在这个网站上做了一些研究并尝试在某些情况下似乎是一种解决方案,即添加 ".."

DATA_DIR = pathlib.Path.cwd().joinpath("..","Kokam NMC 46 Ah EET","CheckUps",
                                       "Calend_ID{id_nr}_{temp}_{SoC}".format(id_nr = id_nr, temp = temp, SoC = SoC ))

这没有用。同样,我尝试了相同的策略来保存情节

plt.savefig('../Graphs/Impedanz Plot von ID{id_nr} NMC{nmc_nr} bei {x} Hertz'.format(id_nr = id_nr, temp = temp, SoC = SoC, nmc_nr = nmc_nr, x=hertz),
                bbox_inches = 'tight', dpi = 600)

返回

FileNotFoundError: [Errno 2] No such file or directory: '../Graphs/Impedanz von ID01 NMC46 (bei 35C und 100SOC).png'

如何使用 pathlib 调整回溯到父文件夹?如果 pathlib 没有这个功能,还有其他方法吗?

谢谢!

代替..,做path.parent:

>>> pathlib.Path.cwd()
PosixPath('/home/jan/Downloads')
>>> pathlib.Path.cwd().parent
PosixPath('/home/jan')

第二次尝试,Python 从相对路径计算绝对路径。

>>> os.path.abspath('../')
'/home/jan'

同时通过打印确保您尝试保存的路径是实际正确的路径。