python的shutil.move是不是很慢

是会慢很多
shutil.move的代码,如果src是dir,dst存在也是dir,
则先复制再删除src,所以会很慢,操作系统中是直接移动所以快

def move(src, dst):
"""Recursively move a file or directory to another location.

If the destination is on our current filesystem, then simply use
rename. Otherwise, src to the dst and then remove src.
A lot more could be done here... A look at a mv.c shows a lot of
the issues this implementation glosses over.

"""

try:
os.rename(src, dst)
except OSError:
if os.path.isdir(src):
if destinsrc(src, dst):
raise Error, "Cannot move a directory '%s' into itself '%s'."
% (src, dst)
tree(src, dst, symlinks=True)
rmtree(src)
else:
2(src,dst)
os.unlink(src)

⑵ python shutil.什么意思

使用这个方法专属123456789import shutil, errno def anything(src, dst): try: shutil.tree(src, dst) except OSError as exc: # python >2.5 if exc.errno == errno.ENOTDIR: shutil.(src, dst) else: raise

⑶ python shutil.move shutil.哪个快

文件的话shutil.move快,目录的话shutil.
由于shutil.move移动目录时也是进行操作,然后再删除

⑷ python shutil模块为什么这么少方法

用help 命令查看,

help(shutil)

⑸ 用python的shutil.rmtree()最后一个文件删除不了,这是为什么有什么解决方法

shutil其实不是很健壮啊来。经常出错。源通常是最后一个目录不为空,或者是权限不对,或者是你当前运行的目录就在那个目录,总之被占用,被锁,没有权限,不为空都删除不了。


如果是在linux下,我们通常用os.system('rm -rf 目录名')


在windows也可以用

del/s/q目录名

比较少用shutil, 也比较少用os.remove这样的函数。不过os.path.isfile这样的函数经常用

⑹ python shutil模块函数“file”和“”有什么区别

file(src, dst) #src, dst 都需是文件名, 如果dst 存在或无权限,会抛出异常
(src, dst) #dst 可以是目录名。