Python:如何在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'

还要通过打印来确保你试图保存到的路径实际上是正确的路径

相关内容

最新更新