# shutil
# 目录、文件操作
使用前需要先看其描述信息,可能有的函数的实际结果和Unix系统上类似的操作结果不一致。
import shutil
# Copy src to dst. (cp src dst)
shutil.copy(src, dst)
# Copy files, but preserve metadata (cp -p src dst)
shutil.copy2(src, dst)
# Copy directory tree (cp -R src dst)
shutil.copytree(src, dst)
# Move src to dst (mv src dst)
shutil.move(src, dst)
# 解压缩文件
shutil模块有两个函数-make_archive()和unpack_archive()可以用于创建和解压常见格式的归档文件。
这个函数的基本语法如下:
shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=False, dry_run=False, owner=None, group=None, logger=None)
具体来说,shutil.make_archive() 函数中的参数解释如下 :
-
base_name : 指定归档文件的文件名或文件路径,但不包括压缩格式的扩展名。 -
format : 指定压缩格式,当前支持 'zip', 'tar', 'gztar', 'bztar'。 -
root_dir : 指定压缩文件的根目录,如果不指定则压缩整个目录树。 -
base_dir : 指定压缩文件的相对路径,如果不指定则压缩文件使用绝对路径。 -
verbose : 如果设置为True,则在压缩过程中输出一些信息作为进度提示,否则不输出。 -
dry_run : 如果设置为True,则不会创建任何文件,仅模拟操作,供调试使用。 -
owner 和group : 如果指定了这些参数,则相应的用户和组信息将应用于压缩文件中的文件。 -
logger : 打印归档日志信息的可调用对象。
因此,shutil.make_archive('py33','zip','Python-3.3.0') 的作用是将路径为 Python-3.3.0 的目录以 Zip 格式压缩到文件名为 py33.zip 的文件中。
>>> import shutil
>>> shutil.unpack_archive('Python-3.3.0.tgz')
>>> shutil.make_archive('py33','zip','Python-3.3.0')
'/Users/beazley/Downloads/py33.zip'
>>> shutil.get_archive_formats() # 获取全部支持的文件格式
← resource subprocess →