python shutil 库详解
时间: 2023-10-06 12:11:34 浏览: 280
shutil是Python自带的标准库之一,它提供了许多文件和文件夹的操作函数,可以方便地对文件和文件夹进行复制、移动、删除等操作。下面是shutil库中常用的一些函数:
1. shutil.copy(src, dst):复制文件,将src文件复制到dst路径下,返回目标路径。如果dst是文件夹,则复制到该文件夹下,并以src文件名命名。
2. shutil.copy2(src, dst):复制文件,与copy类似,但是会尽量保留文件的元数据(如权限、时间戳等)。
3. shutil.copytree(src, dst):复制文件夹,将src文件夹复制到dst路径下,返回目标路径。
4. shutil.rmtree(path):删除文件夹,递归删除path下的所有文件和文件夹。
5. shutil.move(src, dst):移动文件或文件夹,将src移动到dst路径下,返回目标路径。
6. shutil.chown(path, user=None, group=None):修改文件或文件夹的所有者和所属组。
7. shutil.make_archive(base_name, format, root_dir=None, base_dir=None):创建压缩文件,将root_dir目录下的所有文件和文件夹打包成压缩文件,保存到base_name路径下,以format格式(如zip、tar)压缩。
8. shutil.unpack_archive(filename, extract_dir=None, format=None):解压缩文件,将filename压缩文件解压缩到extract_dir目录下,以format格式(如zip、tar)解压缩。
使用shutil库需要注意以下几点:
1. shutil库中的函数可以直接操作文件和文件夹,但需要注意路径的格式,Windows系统下需要使用反斜杠(\)分隔路径,Linux系统下需要使用正斜杠(/)分隔路径。
2. shutil库中的函数对文件和文件夹的操作是不可逆的,因此在使用时需要谨慎操作,以防数据丢失。
3. 在使用shutil.copytree()函数时,如果目标路径下已经存在同名文件夹,则会抛出FileExistsError异常。可以通过设置shutil.copytree()函数的ignore参数来忽略该异常,如shutil.copytree(src, dst, ignore=shutil.ignore_patterns('.svn', '.git')),该函数将忽略名为'.svn'和'.git'的文件夹。
阅读全文