shutil模块
复制和移动
-
shutil.copyfileobj(fsrc, fdst[, length])
将类似文件的对象fsrc的内容复制到类似文件的对象fdst。 -
shutil.copyfile(src, dst, *, follow_symlinks=True)
将名为src的文件的内容(无元数据)复制到名为dst的文件,然后返回dst。 -
shutil.copy(src, dst, *, follow_symlinks=True)
将文件src复制到文件或目录dst。src和dst应为字符串。如果dst指定目录,则文件将使用src的基本文件名复制到dst中。返回新创建的文件的路径。 -
shutil.copy2(src, dst, *, follow_symlinks=True)
与copy()相同,但copy2()也尝试保留所有文件元数据。 -
shutil.move(src, dst, copy_function=copy2)
递归地将文件或目录(src)移动到另一个位置(dst),并返回目标
目录操作
- shutil.copytree(src, dst, symlinks=False, ignore=None,copy_function=copy2, ignore_danglin g_symlinks=False)
递归地复制以src为根的整个目录树,返回目标目录。由dst命名的目标目录不能已经存在。 - shutil.rmtree (path, ignore_errors=False, οnerrοr=None)
删除整个目录树; 路径必须指向目录(而不是指向目录的符号链接)
权限管理
- shutil.copymode(src, dst, *, follow_symlinks=True)
将权限位从src复制到dst。文件内容,所有者和组不受影响。src和dst是以字符串形式给出的路径名称。 - shutil.copystat(src, dst, *, follow_symlinks=True)
将权限位,最后访问时间,上次修改时间和标志从src复制到dst。 - shutil.chown(path, user=None, group=None)
更改给定路径的所有者用户和/或组
>>> import shutil
# copyfileobj只是了解底层原理,实际代码不需要使用
>>> f1 = open('/bin/ls', 'rb')
>>> f2 = open('/tmp/list4', 'wb')
>>> shutil.copyfileobj(f1, f2)
>&g