1. 程式人生 > >用Python批量修改檔名

用Python批量修改檔名

之前在網易雲課堂的安卓客戶端上下載過一些課程視訊,今天想把它們匯入電腦,直接在電腦上觀看。結果發現下載資料夾xcache中的所有檔案都是沒有後綴名的。由於下載的不是視訊就就是pdf文件,於是我手動改了一個比較大的檔案文mp4格式,發現果然就可以用了。進一步觀察發現,檔名最後一位是1的檔案都是視訊檔案,最後一位是0的檔案都是pdf檔案,但是問題來了,檔案比較多,手動操作太慢,於是想通過簡單的程式設計來進行解決。

由於最近一直有跟Coursera上的一門關於Python訪問Web資料的課程(推薦下https://www.coursera.org/learn/python-network-data/home/welcome,比較基礎,老師Dr.Chuck也是個很有意思的人,他還有別的Python課程也很不錯。),所以就想通過Python來實現。簡單的搜尋了一下,發現問題還是比較簡單的,只需要import相應的os包即可。程式碼如下,比較簡單,但是通過程式設計解決問題還是很有趣的。

import os
def filerename(path):
    for file in os.listdir(path):
        # read filename
        oldname = os.path.basename(file)     
        # print "Oldname:", oldname
        if oldname[len(oldname)-1] == '1':
            newname = oldname + '.mp4'
            os.rename(path + '\\' + oldname, path + '\\'+ newname)
        elif oldname[len(oldname)-1] == '0':
            newname = oldname + '.pdf'
            os.rename(path + '\\' + oldname, path + '\\'+ newname)

# path = u'C:\\Users\\DELL\\Desktop\\xcache'
path = raw_input("I need a Path:")
try:
    filerename(path)
except:
    print "Wrong Path!"
本來path是被直接賦值的,後來又隨手加了try-except結構。程式雖小但是很方便,不過理論上能寫得更漂亮才是。