欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python3批量移動指定文件到指定文件夾方法示例

系統 1928 0

引言

某人需求:以某excel中姓名信息為名建立一系列文件夾,分別將四個文件夾中與人名對應的文件匯總到該人名對應的文件夾中,共近200人,手工處理費時費力。

需求分解:

從excel中提取代號index和姓名信息name
以index_name格式批量建立文件夾namefolder
分別遍歷四個文件夾及其子文件夾,將其中“文件名filename中包含姓名name”的文檔移動到該人對應的新建的文件夾namefolder中

excel內容:?

Python3批量移動指定文件到指定文件夾方法示例_第1張圖片

處理前:?

Python3批量移動指定文件到指定文件夾方法示例_第2張圖片 ?

處理后:?

Python3批量移動指定文件到指定文件夾方法示例_第3張圖片

功能實現比較容易,權當記錄。

環境:Python3.6+macOS10.12.5

代碼

            
# -*- coding: utf-8 -*-

import os
import shutil
import xlrd
import string

### 創建多層目錄
def mkdirs(path):
 # 去除首位空格
 path = path.strip()
 # 去除尾部 \ 符號
 path = path.rstrip("\\")

 # 判斷路徑是否存在
 # 存在  True
 # 不存在 False
 isExists = os.path.exists(path)

 # 判斷結果
 if not isExists:
  # 創建目錄操作函數
  os.makedirs(path)
  # 如果不存在則創建目錄
  print(path + ' 創建成功')
  return True
 else:
  # 如果目錄存在則不創建,并提示目錄已存在
  print(path + ' 目錄已存在')
  return False

def search_file(path, filename, newpath):
 queue = []
 queue.append(path);
 while len(queue) > 0:
  tmp = queue.pop(0)
  if (os.path.isdir(tmp)):#如果該路徑是文件夾
   for item in os.listdir(tmp):#遍歷該路徑中文件和文件夾
    queue.append(os.path.join(tmp, item))#將所得路徑加入隊列queue
  elif (os.path.isfile(tmp)):#如果該路徑是文件
   name = os.path.basename(tmp) # 獲取文件名
   dirname = os.path.dirname(tmp) # 獲取文件目錄
   full_path = os.path.join(dirname, name) # 將文件名與文件目錄連接起來,形成完整路徑
   des_path = newpath+'/'+path+'_'+name #目標路徑,將該文件夾信息添加進最后的文件名中
   if filename in name:#匹配符合條件的文件,也可用if(name.find(filename)!=-1):
    shutil.move(full_path, des_path)#移動文件到目標路徑(移動+重命名)

if __name__ == '__main__':
 #打開excel文件
 data=xlrd.open_workbook('名單.xlsx')
 #獲取第一張工作表(通過索引的方式)
 table=data.sheet_by_index(0)
 #datalist用來存放數據
 datalist_UNIQID=[]
 datalist_NAME=[]
 #將table中第一行的數據讀取并添加到data_list中
 datalist_UNIQID.extend(table.col_values(0))
 datalist_NAME.extend(table.col_values(2))
 #foldname = [a+'_'+b for a, b in zip(datalist_UNIQID,datalist_NAME)]
 dir_tjbg='zzz報告'
 dir_fsgz='xxx證書'
 dir_hbpx='yyy證書'
 dir_ykfs='xyz證書'
 #打印出第一行的全部數據
 for index, name in zip(datalist_UNIQID, datalist_NAME):
  foldername=index+'_'+name.strip()
  #print(foldername)
  mkdirs(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(),foldername)
          

備忘

1. 同步遍歷兩個list

            
l1 = [2,2,2,2]
l2 = [3,3,3,3]
prod = [a*b for a, b in zip(l1,l2)]
print prod
# [6, 6, 6, 6]
add = [a+b for a, b in zip(l1,l2)]
print add
# [5, 5, 5, 5]
          

2. 文件夾操作

            
import os
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(old,new) # 重命名文件或目錄
os.makedirs(r"c:\python\test") # 創建多級目錄
os.mkdir("test") # 創建單個目錄
os.exit() # 終止當前進程
os.path.getsize(filename) # 獲取文件大小
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()相同
os.path.join(“home”, "me", "mywork") # 路徑連接
          

參考

  • Python3 操作Excel文件(讀寫)
  • Python操作excel的幾種方式?Cxlrd、xlwt、openpyxl(部分函數不適用于python3,如column_values改為col_values)
  • Python中zip()函數用法舉例
  • python腳本初體驗之一鍵移動自定格式文件
  • 每天一個python模塊之文件目錄操作-os以及shutil模塊

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美一区视频在线 | 日韩欧美视频一区二区在线观看 | 日本污视频在线观看 | 激情九月| 日本视频免费高清一本18 | 天堂在线中文 | 日本熟妇毛茸茸xxxxx | 毛片国产 | 初女破苞国语在线观看免费 | 久久亚洲视频 | 国产高清网址 | 色视频在线免费观看 | 免费一级做a爰片性色毛片 狠狠色欧美亚洲狠狠色www | 成人中文字幕在线 | 日本高清www午色夜黄 | 午夜视频直播 | 日本一道一区二区免费看 | 日韩精品成人a在线观看 | 国产精品国产精品国产专区不卡 | 欧美成a高清在线观看www | 国产色婷婷 | 欧美va亚洲 | 亚洲一区图片 | 精品久久久久久免费影院 | 亚洲精品乱码久久久久久9色 | 久久99精品热在线观看15 | 久久精品久 | 男女猛烈激情xx00免费视频 | 午夜免费视频 | 亚洲欧美日韩精品久久亚洲区 | 四季久久免费一区二区三区四区 | 国产porn在线 | 四虎1515hh海外永久免费在线 | 男女作爱免费网站 | 特黄特色的大片观看免费视频 | 手机在线一区二区三区 | www色网站| 国产人妻互换一区二区水牛影视 | 九九热线有精品视频99 | 欧洲午夜视频 | 日韩欧美一区二区三区在线视频 |