用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结构。程序虽小但是很方便,不过理论上能写得更漂亮才是。

你可能感兴趣的:(Python)