我有一个文件夹,C:\ temp,子文件夹和文件如下:
\11182014\
VA1122F.A14
VA9999N.A14
CT3452F.B13
CT1467A.B14
\12012014\
MT4312F.B14
MT4111N.B14
CT4111F.A12
文件扩展名始终为“.A”或“.B”,后跟2位数字。 文件名始终以“F”,“A”或“N”结尾。
我想遍历C:\ temp和:
中的所有子文件夹为每个文件添加“My_X_”前缀,其中X是F,N或A(即文件名中的最后一个字母)
使用“_”后缀每个文件+子文件夹的名称
结果将是:
\11182014\
My_F_VA41245F_1182014.A14
My_N_VA43599N_1182014.A14
My_F_CT41111F_1182014.B13
My_A_CT41112A_1182014.B14
\12012014\
My_F_MT4312F_12012014.B14
My_N_MT4111N_12012014.B14
My_F_CT4111F_12012014.A12
有什么建议吗?
答案 0 :(得分:0)
#!/usr/bin/env python # ---*--- coding:utf-8 ---*--- import os path = "/home/username/test" for root,dirname,filename in os.walk(path): for i in filename: i = i.split(".") first = i[1][0] last = i[0][-1] print "My_"+last+i[0]+root+"."+i[1]
答案 1 :(得分:0)
这样做
fld = '/Your/path/to/main/folder/'
for root, subdirs, files in os.walk(fld):
for name in files:
curr_fld = os.path.basename(root)
oldname = os.path.join(fld, curr_fld, name)
splt_name = name.split('.')
myname = '_'.join(['My', splt_name[0][-1], splt_name[0], curr_fld + '.' + splt_name[1]])
newname = os.path.join(fld, curr_fld, myname)
os.rename(oldname, newname)