python - 将文件保存到输出文件夹,如果它不存在则创建它
问题描述
我正在使用pathlib库来处理脚本中的 I/O。我读了一个带有路径的文件:
PosixPath('input/ADE/data_f34.dat')
父文件夹input/
是固定的,但子文件夹 ( ADE
) 和文件名都不是固定的,即它们随着每次迭代而改变。我需要一个将军来存储一个同名的新文件,到路径:
PosixPath('output/ADE/data_f34.dat')
即,尊重子文件夹和文件名,但更改input/
为output/
. 该output
文件夹始终存在,但我不知道子文件夹是否output/ADE/
存在,所以如果不存在,我需要创建。如果已经存在同名文件,我可以简单地覆盖它。
处理这个问题的正确方法是什么pathlib
?
解决方案
这是你要找的吗?
import pathlib
src = pathlib.PosixPath('input/ADE/data_f34.dat')
dst = pathlib.Path('output', *src.parts[1:])
dst.parent.mkdir(parents=True, exist_ok=True)
with open(dst, 'w') as d, open(src) as s:
d.write(s.read())
推荐阅读
- php - 如何以这种 php ajax 形式发送多个数据
- django - 在 url 中强制 django 查询字符串
- c# - C# - Json 反序列化具有子属性的对象
- chromium - v8 中针对不同上下文的内存分离
- python - scipy curve_fit 引发“OptimizeWarning:无法估计参数的协方差”
- azure-devops - 在 Visual Studio Team Services 中附加后缀以构建功能分支的编号
- mysql - Mysql 相同版本(5.6.27)在 2 个不同的服务器上表现不同
- c# - 我正在尝试显示数组,但出现了 system.string[]
- ios - 在 iOS Swift 中继承 UIStackView 的弱属性
- tensorflow - 为什么我对未经训练的类别的图像获得高预测分数?