如何使用pathlib标准化相对路径

恐惧

我正在尝试在Python中使用相对路径,并且要将csv文件与python代码放在​​单独的文件夹中。

我的python程序在以下文件夹中:

G:\projects\code

我想读取此文件,该文件是上一级的:

G:\projects\data\sales.csv

如何使用pathlib指定比当前工作文件夹高一级的路径我不想更改当前的工作文件夹。

我尝试了这个:

from pathlib import Path
file = Path.cwd() /'..'/'data'/'sales.csv'

但是现在'file'变量等于:

'G:/projects/code/../data/sales.csv'

我通读了文档,但那里没有解释,或者我只是想念它。

沃瓦诺

尽管您的路径包含'..'并不是问题(您仍然可以使用此路径在Python中打开文件等),但是您可以使用resolve()以下方式对路径进行规范化

from pathlib import Path
path = Path.cwd() / '..' / 'data' / 'sales.csv'
print(path)  # WindowsPath('G:/projects/code/../data/sales.csv')
print(path.resolve())  # WindowsPath('G:/projects/data/sales.csv')

注意:我个人会命名一个包含路径的变量path,而不是file这样您以后可以做file = open(path)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章