Python如何实现本地图片跨路径复制并重命名?
本地图片复制实现方案
本地文件复制不需要走网络下载流程,用Python内置标准库就能实现,无需安装第三方依赖,具体实现如下:
- 首先修正原代码的基础语法错误:所有文件路径必须用引号包裹为字符串,原代码中直接书写路径的写法会直接触发语法报错。
- 优先使用
shutil模块完成复制:shutil.copy2()会在复制文件时保留原文件的元信息(修改时间、权限等),如果不需要保留元信息,使用shutil.copy()即可。 - 复制前建议先校验目标目录是否存在,不存在则自动创建,避免路径不存在抛出异常。
可直接运行的代码示例
import os import shutil source_img = "/folder/image.png" target_img = "/anotherfolder/imagecopy.png" def copy_image(source_path, target_path): # 自动创建不存在的目标目录 os.makedirs(os.path.dirname(target_path), exist_ok=True) # 执行本地文件复制 shutil.copy2(source_path, target_path) # 调用复制函数 copy_image(source_img, target_img)
注意:如果是Windows环境,路径可以写成
"D:/folder/image.png"的斜杠格式,也可以用双反斜杠转义写为"D:\\folder\\image.png",避免转义字符导致路径识别错误。
无依赖原生写法
如果不想引入shutil模块,也可以直接通过二进制读写的方式实现复制,逻辑完全透明可控:
import os source_img = "/folder/image.png" target_img = "/anotherfolder/imagecopy.png" def copy_image_raw(source_path, target_path): os.makedirs(os.path.dirname(target_path), exist_ok=True) # 二进制模式读取源文件、写入目标文件 with open(source_path, "rb") as src_f: with open(target_path, "wb") as dst_f: dst_f.write(src_f.read()) copy_image_raw(source_img, target_img)
以上两种方式都是纯本地磁盘操作,不需要源文件的网络URL,直接完成本地路径下的文件复制。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

