使用Python3怎么移动指定文件

  介绍

使用Python3怎么移动指定文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

需求分解:

从excel中提取代号指数和姓名信息名称
以index_name格式批量建立文件夹namefolder
分别遍历四个文件夹及其子文件夹,将其中“文件名文件名中包含姓名名称”的文档移动到该人对应的新建的文件夹namefolder中

excel内容:,

使用Python3怎么移动指定文件“> <br/> </p> <p>处理前:,<br/> </p> <p> <img src= #, - *安康;编码:utf-8  - * -      import 操作系统   import  shutil   import  xlrd   import 字符串      # # #,创建多层目录   def  mkdir(路径):   ,#去除首位空格=,,path  path.strip ()   ,#去除尾部,\,符号=,,path  path.rstrip (“\ \”)      ,#判断路径是否存在   ,#存在,真的   ,#不存在,假的=,,isExists  os.path.exists(路径)      ,#判断结果   ,if  not  isExists:   #,才能创建目录操作函数   os.makedirs才能(路径)   #才能,如果不存在则创建目录   打印才能(path  +, & # 39;,创建成功& # 39;)   return 才能正确   ,其他的:   #才能,如果目录存在则不创建,并提示目录已存在   打印才能(path  +, & # 39;,目录已存在& # 39;)   return 才能;错误的      def  search_file(路径,文件名,,newpath):=,queue  []   ,queue.append(路径);   ,while  len(队列),祝辞,0:   时间=tmp 才能;queue.pop (0)   if 才能;(os.path.isdir (tmp)): #如果该路径是文件夹   ,,for  item 拷贝os.listdir (tmp): #遍历该路径中文件和文件夹   ,,,queue.append (os.path.join (tmp,,项目))#将所得路径加入队列队列   elif 才能;(os.path.isfile (tmp)): #如果该路径是文件   ,,name =, os.path.basename (tmp), #,获取文件名   ,,dirname =, os.path.dirname (tmp), #,获取文件目录   ,,full_path =, os.path.join(目录名,名字),#,将文件名与文件目录连接起来,形成完整路径   ,,des_path =, newpath + & # 39;/& # 39; +路径+ & # 39;_ # 39;+ name  #目标路径,将该文件夹信息添加进最后的文件名中   ,,if  filename 拷贝名称:#匹配符合条件的文件,也可用如果(name.find(文件名)!=1):   ,,,shutil.move (full_path, des_path) #移动文件到目标路径(移动+重命名)      if  __name__ ==, & # 39; __main__ # 39;:   ,#打开excel文件   ,data=https://www.yisu.com/zixun/xlrd.open_workbook(“名单.xlsx”)   #获取第一张工作表(通过索引的方式)   表=data.sheet_by_index (0)   # datalist用来存放数据   datalist_UNIQID=[]   datalist_NAME=[]   #将表中第一行的数据读取并添加到data_list中   datalist_UNIQID.extend (table.col_values (0))   datalist_NAME.extend (table.col_values (2))   # foldname=[+“_”+ b, b在zip (datalist_UNIQID datalist_NAME)]   dir_tjbg='打鼾声报告”   dir_fsgz=' xxx证书”   dir_hbpx=' yyy证书”   xyz证dir_ykfs='书'   #打印出第一行的全部数据   指数,名字在zip (datalist_UNIQID datalist_NAME):   foldername=指数+“_”+ name.strip ()   #打印(foldername)   mkdir (foldername)   foldername search_file (dir_tjbg name.strip ())   foldername search_file (dir_fsgz name.strip ())   foldername search_file (dir_hbpx name.strip ())   foldername search_file (dir_ykfs name.strip ())

<强>备忘

1。同步遍历两个列表

l1 =, (2, 2, 2, 2)   时间=l2  [3, 3, 3, 3]   prod =, [* b  for ,, b 拷贝zip (l1, l2)]   print 刺激   (6 #,,,,,,,6]   时间=add  [+ b  for ,, b 拷贝zip (l1, l2)]   print 添加   (5,,5 #,,,5,5]

2。文件夹操作

import 操作系统   import  shutil      os.getcwd(), #,获取当前工作目录,非脚本目录   os.listdir(), #,返回指定目录下的所有文件和目录,非递归   os.remove(), #,删除文件   os.removedirs(), #删除目录   os.path.isfile(), #,检验给出的路径是否是一个文件   os.path.isdir(), #,检验给出的路径是否是一个目录   os.path.isabs(), #,判断是否是绝对路径   os.path.exists(), #,检验给出的路径是否真实存在   os.path.split(), #,返回一个路径的目录名和文件名   os.path.splitext(), #,分离文件扩展名   os.path.dirname(), #,获取文件路径名   os.path.basename(), #,获取一个绝对路径下的文件名   os.system(), #,运行shell命令   os.rename(旧的,新的),#,重命名文件或目录   python os.makedirs (r" c: \ \ test"), #,创建多级目录   os.mkdir (“test"), #,创建单个目录   os.exit(), #,终止当前进程   os.path.getsize(文件名),#,获取文件大小   os.mknod (“test.txt"), #,创建空文件      shutil.copyfile (“oldfile",“newfile"), #, oldfile和newfile中都只能是文件   shutil.copytree (“olddir",“newdir"), #, olddir和newdir都只能是目录,且newdir必须不存在   shutil.move (“oldpos",“newpos"), #,移动文件或目录   shutil.rmtree (“dir"), #,删除目录,与os.removedirs()相同   null

使用Python3怎么移动指定文件