用Python高效地移動檔案

來源:互聯網
上載者:User

最近下載了一個Win7的壁紙包,解壓一看,主目錄是win7walls,下面是以國家為名的二十多個檔案夾,每個檔案夾中是以數字1,2,3為名稱的jpg檔案。因為這樣的分布不可以使用Win7的自動換壁紙功能,所以我想把它們都移動到主目錄Win7walls下面,但又不能直接剪下,因為基本上都重名。這時我又想到了Python

 

os.walk對於遍曆子目錄極其方便。

 

import os<br />root = 'e:/pictures/win7walls'<br />#下面的目錄如Australia、US<br />a=os.walk(root)<br />for x in a:<br /> if len(x[-1])>0 and '.jpg' in x[-1][0]:<br /> #分離出最後一級目錄名,如Australia<br /> pre=os.path.basename(x[0])<br /> for j in x[-1]:<br /> #將Australia/1.jpg產生新的檔案名稱Australia_1.jpg<br /> #再將win7walls/Australia/1.jpg移動到<br /> #win7walls/Australia_1.jpg,注意沒有使用<br /> #shutil.move,因為它是基於複製的,同盤的移動檔案<br /> #效率很低,而os.rename對於同盤檔案的移動相當快<br /> #其實它就是更改了一下檔案屬性<br /> os.rename(x[0]+'/'+j, root+'/'+pre+'_'+j)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.