问题描述:文件夹1中有文件夹2s,2s中还有3s.pdf和4s.txt两个文件,现在要将3s.pdf和4s.txt重命名为2s.pdf和2s.txt
实际情况是,文件夹1中有多个文件夹,要将这些文件夹中的文件,都重命名为文件夹的名字。
【就是收材料的时候姓名加学号打包收,现在要把整个包中的文件按类分出来,但是有的人,包里面的文件命名方式不是姓名加学号,所以要改一下,说人话舒服多了。】
import os
path_1 = 'C:\\Users\\Administrator\\Desktop\\1'
filelist = os.listdir(path_1) # 获取要改名的全部文件
for file in filelist: # 遍历文件夹1中的文件夹
file_1 = os.path.join(path_1, file) # 拼接文件名
files = os.listdir(file_1) # 获取文件夹中的文件
for f_1 in files: # 遍历文件夹
Oldname = os.path.join(file_1, f_1) # 拼接文件名
if os.path.isdir(Oldname): # 如果是文件夹就跳过
continue
Newname = os.path.join(file_1, file) # 拼接文件名
filename = os.path.splitext(f_1)[0] # 获取文件名
filetype = os.path.splitext(f_1)[1] # 获取文件后缀名
Newname = Newname + filetype # 拼接后缀名
try:
os.rename(Oldname, Newname) # 修改文件名
except:
pass