Dre*_*ead 5 python python-3.x pathlib
我正在尝试在 Python 中使用相对路径,并且我想将我的 csv 文件放在与我的 Python 代码不同的文件夹中。
我的python程序位于以下文件夹中:
G:\projects\code
Run Code Online (Sandbox Code Playgroud)
我想阅读这个上一级的文件:
G:\projects\data\sales.csv
Run Code Online (Sandbox Code Playgroud)
如何使用比当前工作文件夹高一级的pathlib指定路径?我不想更改当前的工作文件夹。
我试过这个:
from pathlib import Path
file = Path.cwd() /'..'/'data'/'sales.csv'
Run Code Online (Sandbox Code Playgroud)
但现在“文件”变量等于:
'G:/projects/code/../data/sales.csv'
Run Code Online (Sandbox Code Playgroud)
我通读了文档,要么那里没有解释,要么我只是想念它。
尽管您的路径包含“..”不是问题(您仍然可以使用此路径在 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')
Run Code Online (Sandbox Code Playgroud)
注意:我个人会命名一个包含路径的变量path,而不是file. 所以你以后可以做file = open(path)。