【发布时间】:2017-11-13 04:22:37
【问题描述】:
我正在尝试修改 shutil.copyfileobj() 函数,以便将其默认长度从 16*1024 更改为更大的值 (128*1024)。在内部,其他shutil 方法(如move)调用copyfileobj() 函数,我希望这些调用也受到猴子补丁的影响。这似乎不起作用:
import shutil
shutil.copyfileobjOrig = shutil.copyfileobj
def copyfileobjFast(fsrc, fdst, length=16*1024):
print('COPYING FILE FAST')
shutil.copyfileobjOrig(fsrc, fdst, length=128*1024)
shutil.copyfileobj = copyfileobjFast
shutil.move('test.txt', 'testmove.txt')
我希望这会打印“快速复制文件”,但事实并非如此。有什么方法可以实现我想要做的吗?
【问题讨论】:
-
shutil.move仅在源和目标路径位于不同文件系统上时执行复制。它们在不同的文件系统上吗? -
@jwodder,呵呵!谢谢,成功了。
标签: python monkeypatching