You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何抑制shutil.copy2()的返回值控制台输出?

标准库的shutil.copy2()本身不会主动向控制台打印任何内容,你看到的目标路径输出,本质是该方法的返回值被打印了,针对不同使用场景可采用对应方案关闭输出:

  • 普通Python脚本场景
    检查调用代码,如果是手动添加了print()语句打印shutil.copy2()的返回值,直接移除print()即可,仅保留方法调用:

    # 调整前(会打印返回值)
    print(shutil.copy2("源文件路径", "目标文件路径"))
    
    # 调整后(无额外输出)
    shutil.copy2("源文件路径", "目标文件路径")
    
  • 交互式解释器/Jupyter 运行场景
    这类运行环境会默认打印所有未赋值的语句返回值,你只需要将shutil.copy2()的返回值赋值给占位变量即可屏蔽输出,通常用_作为不需要用到的返回值的占位变量:

    _ = shutil.copy2("源文件路径", "目标文件路径")
    
  • 封装方法自带输出/需要临时屏蔽所有该操作输出的场景
    可以临时将标准输出重定向到空设备,操作完成后再恢复标准输出,不会影响其他代码的正常打印:

    import os
    import sys
    import shutil
    
    with open(os.devnull, "w", encoding="utf-8") as null_f:
        old_stdout = sys.stdout
        sys.stdout = null_f
        try:
            shutil.copy2("源文件路径", "目标文件路径")
        finally:
            sys.stdout = old_stdout
    

内容的提问来源于stack exchange,提问作者CcMango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:54:08