python把文件从一个文件复制到另一个文件夹

根据代码执行结果,源文件路径 E:\Python\CISDI\news_policy_download_attachment/temp\附件3.doc 不存在。请按以下步骤排查:

🔍 问题诊断与解决方案

  1. 路径验证

    python 复制代码
    # 验证路径是否存在
    import os
    print(os.path.exists(r'E:\Python\CISDI\news_policy_download_attachment/temp\附件3.doc'))
    • 返回 False 说明路径错误或文件不存在
  2. 路径格式修正

    • 统一使用反斜杠 \\ 或原始字符串:

      python 复制代码
      # 推荐写法
      source_file = r'E:\\Python\\CISDI\\news_policy_download_attachment\\temp\\附件3.doc'
  3. 文件存在性检查

    • 在资源管理器手动导航到该路径
    • 检查文件名是否包含隐藏扩展名(如 附件3.doc.doc)

✅ 正确实现代码

python 复制代码
import os
import shutil

# 使用原始字符串避免转义问题
source = r'E:\Python\CISDI\news_policy_download_attachment\temp\附件3.doc'
target_dir = r'E:\目标文件夹'

# 验证并修复路径
if not os.path.exists(source):
    print(f"错误:源文件不存在 - {source}")
    exit(1)

# 获取纯文件名
file_name = os.path.basename(source)
target_path = os.path.join(target_dir, file_name)

# 创建目标目录(如果不存在)
os.makedirs(target_dir, exist_ok=True)

# 执行复制操作
try:
    shutil.copy2(source, target_path)
    print(f"文件已成功复制到:{target_path}")
except PermissionError:
    print("错误:权限不足,请检查目标文件夹权限")
except Exception as e:
    print(f"复制失败:{str(e)}")

📝 关键改进点

  1. 路径处理优化

    • 使用 os.path.join 确保路径兼容性
    • 原始字符串避免 \t 等转义字符问题
  2. 错误处理增强

    • 明确区分文件不存在、权限错误等异常类型
    • 目标目录自动创建功能
  3. 跨平台支持

    • 代码可在Windows/Linux/macOS通用
    • 路径分隔符自动适配

💡 使用建议

  1. 路径获取技巧

    python 复制代码
    # 拖拽文件到终端获取绝对路径
    print("请拖拽文件到此处:")
    file_path = input().strip()
  2. 批量处理扩展

    python 复制代码
    # 复制整个文件夹
    shutil.copytree('源文件夹', '目标文件夹')
  3. 进度监控

    python 复制代码
    # 大文件复制进度
    def copy_with_progress(src, dst):
        total = os.path.getsize(src)
        copied = 0
        with open(src, 'rb') as fsrc:
            with open(dst, 'wb') as fdst:
                while True:
                    buf = fsrc.read(1024*1024)  # 1MB缓冲区
                    if not buf:
                        break
                    fdst.write(buf)
                    copied += len(buf)
                    print(f"进度:{copied/total*100:.1f}%")

请根据实际情况调整源文件路径和目标路径,确保:

  1. 源文件真实存在
  2. 目标磁盘有足够空间
  3. 程序有文件操作权限
相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
总要学点什么4 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓4 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣5 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c5 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
Nuanyt5 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌5 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987376 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
超级架构师6 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core