Python如何使用shutil模块实现文件拷贝

  介绍

这篇文章主要为大家展示了Python如何使用shutil模块实现文件拷贝,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

主要作用与拷贝文件用的。

1. shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖复制给文件2 .

进口shutil
  f1=开放(“1. txt",编码=皍tf-8")
  f2=开放(“2. txt",“w",编码=皍tf-8")
  shutil.copyfileobj (f1、f2) 

2. shutil.copyfile(文件1,文件2):不用打开文件,直接用文件名进行覆盖副本。

进口shutil

shutil.copyfile (“1. txt",“3. txt")

3. shutil.copymode(文件1,文件2):之拷贝权限,内容组,用户,均不变

 def复制方式(src, dst):
  “““从src dst"复制模式位”;“
  如果hasattr(操作系统,& # 39;chmod # 39;):
  圣=os.stat (stc)
  模式=stat.S_IMODE (st.st_mode)
  os.chmod (dst模式)

4. shutil.copystat(文件1,文件):只拷贝了权限。

 def copystat (src, dst):
  “““将所有的状态信息(模式位,时间,时间,标志)从src复制到dst"““
  圣=os.stat (src)
  模式=stat.S_IMODE (st.st_mode)
  如果hasattr(操作系统,& # 39;utime& # 39;):
  os.utime (dst (st.st_atime st.st_mtime))
  如果hasattr(操作系统,& # 39;chmod # 39;)
  os.chmod (dst模式)
  如果hasattr(操作系统,& # 39;chflags& # 39;)和hasattr (st, & # 39; st_flags& # 39;):
  试一试:
  操作系统。st.st_flags chflags (dst)
  除了OSError,原因:
  犯错误& # 39;EOPNOTSUPP& # 39; & # 39; ENOTSUP& # 39;:
  如果hasattr (errno,犯错)和为什么。errno==getattr (errno,犯错):
  打破
  其他:
  提高

5. shutil.copy(文件1,文件2):拷贝文件和权限都进行复制。

 def副本(src, dst):
  “““复制数据和模式(“cp src dst")
  目标可能是一个目录。
  “““
  如果os.path.isdir (dst):
  dst=os.path.join (dst os.path.basename (src))
  拷贝文件(src, dst)
  复制方式(src, dst) 

6. shutil.copy2(文件1,文件2):拷贝了文件和状态信息。

7. shutil.copytree(源目录,目标目录):可以递归复制多个目录到指定目录下。

shutil.ignore_patterns
shutil(*模式)。copytree (src, dst,符号链接=False,忽视=None)
递归的去拷贝文件

例如:copytree(来源、目的地,忽视=ignore_patterns (& # 39; * .pyc& # 39;, & # 39; tmp * & # 39;))

8. shutil.rmtree(目标目录):可以递归删除目录下的目录及文件。

9. shutil.move(源文件,指定路径):递归移动一个文件。

10. shutil.make_archive():可以压缩,打包文件。

进口shutil

shutil.make_archive (“shutil_archive_test",“zip",“D: \新建文件夹(2)“)

11. shutil。make_archive (base_name、格式、…)

创建压缩包并返回文件路径,例如:邮政,焦油

    <李> base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
      <李>如:www=祝辞保存至当前路径李 <>李如:/用户/wupeiqi/www=祝辞保存至/用户/wupeiqi/
    <李>格式:压缩包种类,“邮政编码”、“焦油”、“bztar”、“gztar” <李> root_dir:要压缩的文件夹路径(默认当前目录) <李>主:用户,默认当前用户李 <>李组:组,默认当前组 <李>记录器:用于记录日志,通常是日志记录。李记录器对象
 #将/用户/wupeiqi/下载/测试下的文件打包放置当前程序目录
  
  进口shutil
  ret=shutil.make_archive (“wwwwwwwwww" & # 39; gztar& # 39;, root_dir=& # 39;/用户/wupeiqi/下载/测试# 39;)
  
  
  #将/用户/wupeiqi/下载/测试下的文件打包放置/用户/wupeiqi/目录
  进口shutil
  ret=shutil.make_archive(“/用户/wupeiqi/wwwwwwwwww", & # 39; gztar& # 39;, root_dir=& # 39;/用户/wupeiqi/下载/测试# 39;)

以上就是关于Python如何使用shutil模块实现文件拷贝的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

Python如何使用shutil模块实现文件拷贝