如何用python批量改文件名
3个回答
展开全部
#----网上现有的代码,可用
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()
推荐于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 里可以正常打印
#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 里可以正常打印
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个请补一下基础,如果有时间的话,学习一下小甲鱼的教程,学到os模块的那一节你自己就会做了。主要用到os.listdir()和os.rename等函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询