实现文件拷贝函数,函数仅为一个参数(源文件路径)。 利用字符串格式化分析方法,自动生成新文件名(旧文件名_拷贝.文件后缀),分块实现文件拷贝。 注意:测试文件可以为图片、视频、音频、文档等多种类型。
时间: 2024-11-04 20:15:00 浏览: 7
实现文件拷贝函数,你可以采用如下的Python代码示例,它使用`shutil`模块,该模块提供了一些实用的文件和目录操作功能:
```python
import os
import shutil
from pathlib import Path
def copy_file(src_path):
# 验证输入是否为有效文件路径
if not os.path.exists(src_path):
print(f"源文件 {src_path} 不存在")
return
# 获取文件名和扩展名
base_name, file_ext = os.path.splitext(os.path.basename(src_path))
# 使用字符串格式化生成目标文件名(旧文件名_拷贝.文件后缀)
dst_name = f"{base_name}_拷贝{file_ext}"
# 定义目标文件夹(这里假设原文件在同一目录下创建备份),可以根据实际需求修改
dst_dir = os.path.dirname(src_path)
dst_path = os.path.join(dst_dir, dst_name)
# 分块读取和写入,处理大文件避免内存溢出
chunk_size = 64 * 1024 # 每次读写64KB数据
with open(src_path, 'rb') as src, open(dst_path, 'wb') as dst:
while True:
data = src.read(chunk_size)
if not data:
break
dst.write(data)
print(f"源文件 {src_path} 已成功复制到 {dst_path}")
# 测试文件路径
test_src_path = "example.jpg" # 替换成你的实际测试文件路径
copy_file(test_src_path)
阅读全文