python - 在python中将相对路径添加到绝对路径
问题描述
假设我有一个绝对路径和一个相对路径
abspath = os.path.abspath(__file__)
relpath = '../../folder/file'
如何在没有../..
s 的情况下将这两条路径“添加”在一起,是否有这样做的模块?到目前为止我找不到任何东西。我正在考虑一种格式,例如:
mypath = some_module.function(abspath, relpath)
而不是做
mypath = os.path.join(os.path.dirname(os.path.dirname(abspath))), folder, file)
我认为这太麻烦了。
解决方案
您可以join
使用它们并使用normpath:
os.path.normpath(os.path.join(abspath, relpath))
来自normpath
文档:
通过折叠冗余分隔符和上层引用来规范化路径名,以便 A//B、A/B/、A/./B 和 A/foo/../B 都变为 A/B。
从 Python 3.4 开始,您也可以使用pathlib模块:
from pathlib import Path
abspath = Path('/home/xxxx/yyy')
relpath = Path('../../folder/file')
(abspath / relpath).resolve()
# PosixPath('/home/xxxx')
推荐阅读
- excel - Python Openpyxl sheet.dimensions
- c# - peta poco .net 分页查询添加的“PETA_PAGED”附近的语法不正确
- mongodb - count() 和 find() 结果不一样
- php - WooCommerce - 在单个产品页面模板上显示产品类别图像
- java - D/skia:libjpeg 错误 117
我不是门控错误,但是当我单击 recyclerview-> 图像视图时
D/skia: libjpeg error 117 <Corrupt JPEG data: premature end of data segment> from o
- excel - 我想替换 Excel 表中的特定列数据
- angular - 将数字类型转换为 BigDecimal TypeScript ( Angular)
- linux - 在运行在 aws linux 实例上的 jenkins 上运行 Katalon Studio 测试套件
- visual-studio - Visual Studio Community 2017 中的构建错误
- azure - 并行执行多个 Pyspark 脚本