如何用python批量改文件名

如题所述

#----网上现有的代码,可用
import os
def rename():
    count = 0
    path = 'C:\\Users\\Py_Test'
    filelist = os.listdir(path)  # 该文件夹下所有的文件(包括文件夹)
    for files in filelist:  # 遍历所有文件
        Olddir = os.path.join(path, files)  # 原来的文件路径
        if os.path.isdir(Olddir):  # 如果是文件夹则跳过
            continue
        filename = os.path.splitext(files)[0]  # 文件名
        filetype = os.path.splitext(files)[1]  # 文件扩展名
        Newdir = os.path.join(path, str(count) + filetype)  # 新的文件路径
        os.rename(Olddir, Newdir)  # 重命名
        count += 1

rename()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-08-01
1、在movies文件夹下面的所有文件前面都加上[可可可可]
#coding:utf-8
import os
movie_name = os.listdir('./movies')
for temp in movie_name:
new_name = '[可可可可]' + temp
os.rename('./movies/'+temp,'movies/'+new_name)2,把文件名前面乱七八糟的东西都去掉
复制代码
#coding:utf-8
import os
movie_name = os.listdir('./movies')
for temp in movie_name:
num = temp.rfind(']')#找到最右边]的下标
# new_name = '[可可可可]' + temp
new_name = temp[num+1:]
os.rename('./movies/'+temp,'movies/'+new_name)复制代码
主要还是涉及对字符串的操作
3、问题:
为什么打印
print(movie_name)是一堆乱码

f\xaf\xe5\x8f\xaf]\xe7\x94\xb5\xe5\xbd\xb11\xe5\x89\xaf\xe6\x9c\xac 2.txt'<br>
解决:
显示乱码是因为是中文在python 2 中显示有问题,如果要在python 2 中显示出来的话,可以用for temp in movie_name:
print(movie_name)
另外,在python 3 里可以正常打印本回答被网友采纳
第2个回答  2017-06-28
这个请补一下基础,如果有时间的话,学习一下小甲鱼的教程,学到os模块的那一节你自己就会做了。主要用到os.listdir()和os.rename等函数。
相似回答