python批量移动文件到文件夹,

  python批量移动文件到文件夹,

  在工作中,不可避免地会遇到档案需要批量整理的情况。当一些文件需要从一堆文件中批量转移时,如果手动一个一个转移,难免浪费时间。本文主要介绍如何在python中使用os模块批量移动文件的相关信息。有需要的可以参考一下。

  本文介绍了利用python将一个文件夹(及其子文件夹)下的特定类型文件批量移动到另一个文件夹中。

  通过python操作系统目录及其文件,需要用到os包,本次具体用到如下方法

  这个方法可以遍历一个文件夹及其子文件(子子文件夹等)。)os.rename(),该方法用于命名文件或目录(由于是操作文件的绝对路径,实际上相当于剪切文件)。此外,您可以借助shutil库移动或复制文件。

  下面是示例代码

  def run_main(源目录,目标目录):

  数量=0

  对于os.walk中的根、目录、文件(source_dir,topdown=False):

  # root表示当前正在访问的文件夹的路径。

  # dirs表示该文件夹下的子目录名称列表。

  # files表示该文件夹中的文件列表。

  对于文件:中的名称

  # print(os.path.join(root,name))

  # print(type(os.path.join(root,name)))

  File=os.path.join(root,name) #拼接文件的完整路径(注意,当我们操作文件或文件夹时,必须使用绝对路径)

  打印(文件)

  If file.split( . ))[xls , xlsx , csv] 3360 #中的[-1]使用split确定获取的文件路径是否以csv结尾。

  #打印(文件)

  Tar _ file=file.split( . )[-2] str (num) . file.split( . ))[-1] #为了避免文件重复,在原文件名上加上递增的序列号Num,形成新文件名。

  # print(target _ dir tar _ file . split( \ \ )[-1])

  OS . path . is file(target _ dirtar _ file . split( \ \ )[-1]): #确定该文件中是否已经存在目标文件夹。

  打印(“已经存在于此文件中”)

  else:

  打印(移动第{}个文件:{} 。format (num1,tar _ file.split (\ \) [-1])

  os.rename(file,target _ dir tar _ file . split( \ \ )[-1])

  数量=1

  if __name__==__main__:

  run_main(D:/source/, D:/target/)

  关于如何复制文件,还可以借助shutil

  将文件内容复制到另一个文件。

  导入技能

  shutil . copy file obj(open( old . XML , r ),open(new.xml , w ))

  shutil.copyfile(src,dst)

  复印文件

  Shuttil.copyfile (f1.log , f2.log) #目标文件不需要存在

  shutil.copymode(夏令时,夏令时)

  仅复制权限。内容、组和用户保持不变。

  Shuttil.copymode (f1.log , f2.log) #目标文件必须存在。

  shutil.copystat(夏令时,夏令时)

  仅复制状态信息,包括:模式位、atime、mtime、标志。

  Shuttil.copystat (f1.log , f2.log) #目标文件必须存在。

  shutil.copy(夏令时,夏令时)

  复制文件和权限

  导入shutil23shutil.copy(f1.log , f2.log )

  shutil.copy2(夏令时,夏令时)

  复制文件和状态信息

  导入shutil23shutil.copy2(f1.log , f2.log )

  shut . ignore _ patterns(* patterns)#基本不用

  shutil.copytree(src,dst,symlinks=False,ignore=None)

  递归解拷贝文件夹

  导入技能

  shutil.copytree(folder1 , folder2 ,ignore=shut il . ignore _ patterns( *。pyc , tmp* ))

  #目标目录不能存在。注意folder2目录的父目录要有写权限。忽略意味着排除。

  shutil.rmtree(路径[,ignore_errors[,onerror]])

  递归删除文件

  导入技能

  shutil.rmtree(folder1 )

  shutil.move(src,dst)

  递归移动文件,类似于mv命令,其实就是重命名。

  导入技能

  shutil.move(folder1 , folder3 )

  shutil.make_archive(基本名称,格式,)

  创建一个压缩包并返回文件路径,例如:zip,tar

  Base_name:压缩包的文件名,或者压缩包的路径。如果只是文件名,则保存到当前目录,否则保存到指定路径。

  例如:/tmp/data_bak=save to /tmp/

  格式:压缩包类型,“zip”、“tar”、“bztar”、“gztar”

  Root_dir:要压缩的文件夹路径(默认的当前目录)

  所有者:用户,默认为当前用户。

  Group: group,默认为当前组。

  Logger:用于日志记录,通常是日志记录。记录器对象。

  #将文件打包在/data下,并将它们放在当前程序目录中。

  导入技能

  ret=shutil . make _ archive( data _ bak , gztar ,root_dir=/data )

  #将文件打包在/data下,放在/tmp/目录下。

  导入技能

  ret=shutil . make _ archive(/tmp/data _ bak , gztar ,root_dir=/data )

  总结

  关于如何用python中的os模块批量移动文件的这篇文章到此为止。关于python用os模块批量移动文件的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹
  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹,cmd命令打开及切换目录路径的实现
  • wget下载文件到指定目录,wget下载整个文件夹
  • wget下载文件到指定目录,wget下载整个文件夹,wget下载整个网站(整个子目录)或特定目录
  • u盘exe病毒如何根除,如何根除U盘文件夹exe病毒
  • u盘exe病毒如何根除,如何根除U盘文件夹exe病毒,U.EXE病毒删除方法
  • svn在eclipse中的使用,eclipse不显示svn路径,Eclipse设置svn忽略文件或文件夹(svn-ignore)的操作
  • Linux系统删除文件夹命令,linux系统中删除文件的命令
  • Linux系统删除文件夹命令,linux系统中删除文件的命令,Linux系统删除文件夹和文件的命令
  • jsp 上传文件夹,jsp多文件上传
  • jsp 上传文件夹,jsp多文件上传,JSP组件commons-fileupload实现文件上传
  • dos 删除文件夹命令,dos 删除文件夹 目录不是空的
  • dos 删除文件夹命令,dos 删除文件夹 目录不是空的,dos 删除文件夹 rd
  • Win10共享文件夹怎么设置访问密码,win10共享文件夹设置密码后没有权限访问
  • win10用户的文件名怎么改,window10怎样更改用户文件夹名称
  • 留言与评论(共有 条评论)
       
    验证码: