shutil模块学习
copy
将源文件的内容复制到目标文件或目录。它还会保留文件的权限模式,但不会保留文件的其他元数据(例如文件的创建和修改时间)。
用法:
shutil.copy(source, destination, *, follow_symlinks = True)
参数:
source:代表源文件路径的字符串。
destination:代表目标文件或目录路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False,并且source表示符号链接,则目标将创建为符号链接。
Note:参数列表中的“ *”表示以下所有参数(此处为“ follow_symlinks”)仅是关键字参数,可以使用其名称(而不是位置参数)来提供。
返回类型:此方法返回一个表示新创建文件路径的字符串。
实例
source = r'D:\dataset\indoor\train\airport_inside\airport_inside_0001.jpg'
destination = r'D:\dataset\indoor\test\1'
shutil.copy(“source,destination)
copy2
将源文件的内容复制到目标文件或目录。此方法与shutil.copy()
方法,但它还会尝试保留文件的元数据。
shutil.copy2(source, destination, *, follow_symlinks = True)
参数:
source:代表源文件路径的字符串。
destination:代表目标文件或目录路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False,并且source表示符号链接,则它将尝试将所有元数据从源符号链接复制到newly-created目标符号链接。此函数取决于平台。
Note:参数列表中的“ *”表示以下所有参数(此处为“ follow_symlinks”)仅是关键字参数,可以使用其名称(而不是位置参数)来提供。
*返回类型:*此方法返回一个表示新创建文件路径的字符串。
实例
import shutil
#shutil.copy2(【要被复制的文件】,【复制后存放的位置】)
shutil.copy2("D:/TOOLS/public.txt","D:/fart/a/b/c/d/e/kok/")
import shutil
#shutil.copy2(【要被复制的文件】,【复制后存放的文件】)
shutil.copy2("D:/TOOLS/public.txt","D:/fart/a/b/c/d/e/kok/HH.txt")
shutil.copy2("D:/TOOLS/public.txt","D:/fart/a/b/c/d/e/kok/HH.so")
shutil.copy2("D:/TOOLS/public.txt","D:/fart/a/b/c/d/e/kok/666")
copyfile
将源文件的内容复制到目标文件。
用法
shutil.copyfile(source, destination, *, follow_symlinks = True)
参数:
source:代表源文件路径的字符串。
destination:代表目标文件路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False且source表示符号链接,则将创建一个新的符号链接,而不是复制文件。
Note:参数列表中的“ *”表示以下所有参数(此处为“ follow_symlinks”)仅是关键字参数,可以使用其名称(而不是位置参数)来提供。
返回类型:此方法返回一个表示新创建文件路径的字符串。
实例
argetdir_path = 'W:\Solar Radiation\Data\Data_original\Temp_data\梯度塔结果\\' + upfile
Targetfile_path = 'W:\Solar Radiation\Data\Data_original\Temp_data\梯度塔结果\\' + upfile + '\\' + data_name
if not os.path.exists(Targetdir_path):
os.mkdir(Targetdir_path)
shutil.copyfile(file, Targetfile_path)
copyfileobj
将file-like对象的内容复制到另一个file-like对象。
用法
shutil.copyfileobj(fsrc, fdst[, length])
参数:
fsrc:一个file-like对象,表示要复制的源文件
fdst:代表目标文件的file-like对象,将fsrc复制到其中。
length (optional):表示缓冲区大小的整数值。
File-like对象主要是StringIO对象,连接的套接字和实际文件对象。
返回类型:此方法不返回任何值。
shutil.copyfileobj(fsrc, fdst)
copymode
将权限位从给定的源路径复制到给定的目标路径
用法:用法:
shutil.copymode(source, destination, *, follow_symlinks = True)
参数:
source:代表源文件路径的字符串。
destination:代表目标文件路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False且source和destination两者都引用了符号链接,则shutil.copymode()方法将尝试修改目标模式(即符号链接)本身而不是其指向的文件。
Note:参数列表中的“ *”表示以下所有参数(此处为“ follow_symlinks”)仅是关键字参数,可以使用其名称(而不是位置参数)来提供。
*返回类型:*此方法不返回任何值
copystat
将权限位,最后访问时间,最后修改时间和标志值从给定的源路径复制到给定的目标路径
用法: shutil.copystat(source, destination, *, follow_symlinks = True)
参数:
source:代表源文件路径的字符串。
destination:代表目标文件路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False,并且源和目标均都引用符号链接,则shutil.copystat()方法将对符号链接本身(而不是符号链接引用的文件)进行操作。
*返回类型:*此方法不返回任何值。
copytree
以递归方式将以源(src)为根的整个目录树复制到目标目录
用法
shutil.copytree(src, dst, symlinks = False, ignore = None, copy_function = copy2, igonre_dangling_symlinks = False)
参数:
src: A string representing the path of the source directory.
dest: A string representing the path of the destination.
返回值: This method returns a string which represents the path of newly created directory.
实例
import shutil
shutil.copytree(D:\data,E:\Test\data)