Python編程快速上手——選擇性拷貝操作案例分析
本文實(shí)例講述了Python選擇性拷貝操作。分享給大家供大家參考,具體如下:
問(wèn)題如下:編寫一個(gè)程序,遍歷一個(gè)目錄樹,查找特的那個(gè)拓展名的文件(如,.jpg或.pdf)。不論這些文件位置在哪里,將它們拷貝到一個(gè)新的文件夾中
思路如下:- 程序需要做以下事情:遍歷文件目錄樹,并返回相關(guān)文件夾及文件信息查找特定文件名文件將找到的特定文件拷貝到新文件夾- 代碼需要做以下事情:導(dǎo)入os,shutil模塊input()輸入需要查找的文件拓展名,遍歷的文件夾及復(fù)制目標(biāo)文件夾os.walk(0遍歷目錄樹filename.endswith(’’)查找特定文件名文件shutil模塊移動(dòng),復(fù)制相應(yīng)文件拷貝完成反饋結(jié)果
代碼如下:import os, shutilfiName = input('請(qǐng)輸入需要遍歷的文件夾地址:')baseName = input('請(qǐng)輸入需要查找文件的拓展名(如:.pdf,.txt,.jpg):')toName = input('請(qǐng)輸入需要移動(dòng)到的地址:')for folderName,_, filenames in os.walk(fiName): #os.walk默認(rèn)返回三個(gè)參數(shù),因?yàn)榈诙€(gè)參數(shù)返回子文件夾用不上,因此設(shè)置了 -參數(shù),填充位置 print(’當(dāng)前遍歷文件夾:’ + folderName) for filename in filenames: if filename.endswith(baseName): print('當(dāng)前文件夾的“{0}”文件有:{1}'.format(baseName,filename)) filePath = folderName +’’+ filename #加上’’轉(zhuǎn)義字符,才是正確的路徑 shutil.copy(filePath,toName) print('拷貝文件“{0}”到“{1}”成功!'.format(baseName,toName))運(yùn)行結(jié)果如下:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. PHP設(shè)計(jì)模式中工廠模式深入詳解2. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)3. CSS hack用法案例詳解4. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)8. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法9. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明10. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息
