Python編程快速上手——選擇性拷貝操作案例分析
本文實(shí)例講述了Python選擇性拷貝操作。分享給大家供大家參考,具體如下:
問(wèn)題如下:編寫(xiě)一個(gè)程序,遍歷一個(gè)目錄樹(shù),查找特的那個(gè)拓展名的文件(如,.jpg或.pdf)。不論這些文件位置在哪里,將它們拷貝到一個(gè)新的文件夾中
思路如下:- 程序需要做以下事情:遍歷文件目錄樹(shù),并返回相關(guān)文件夾及文件信息查找特定文件名文件將找到的特定文件拷貝到新文件夾- 代碼需要做以下事情:導(dǎo)入os,shutil模塊input()輸入需要查找的文件拓展名,遍歷的文件夾及復(fù)制目標(biāo)文件夾os.walk(0遍歷目錄樹(shù)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)容感興趣的讀者可查看本站專(zhuān)題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器(無(wú)bug)2. 解決vue頁(yè)面刷新,數(shù)據(jù)丟失的問(wèn)題3. Python 忽略文件名編碼的方法4. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis5. Java Media Framework 基礎(chǔ)教程6. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作7. 在Mac中配置Python虛擬環(huán)境過(guò)程解析8. Python趣味挑戰(zhàn)之用pygame實(shí)現(xiàn)簡(jiǎn)單的金幣旋轉(zhuǎn)效果9. python實(shí)現(xiàn)凱撒密碼10. Python中的min及返回最小值索引的操作
