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
相关产品推荐
相关产品推荐

