如题,需求如下:假如在D盘下的TEST文件夹中传了一个AAAA_BBBB_CCCC_DDD.txt的文件,就将这个文件名称拆分,建一个AAAA的目录,在AAAA的目录中建BBBB的子目录,在BBBB的子目录中建CCCC的子目录,最后将DDD.txt存放到CCCC子目录中。大概就是这样的一个需求文件名称可能不是固定不变的,可能是动态的。求各位python大神能帮忙给个思路啊,谢谢了!
3 回答
动漫人物
TA贡献1815条经验 获得超10个赞
PHP实现(思路):
<?php chdir('/home/eechen/TEST'); $path = pathinfo('/home/eechen/TEST/AA_BB_CC_DD.txt'); $arr = explode('_',$path['filename']); $count = count($arr); foreach($arr as $k => $v) { if($k!=$count-1) { if(!file_exists($v)) { mkdir($v); chdir($v); echo getcwd()."\n"; } else { chdir($v); } } else { $file = $v.'.'.$path['extension']; if(!file_exists($file)) { touch($file); echo getcwd().'/'.$file."\n"; } } }
智慧大石
TA贡献1946条经验 获得超3个赞
import os
import shutil
dir="C:\\Users\\Lenovo\\Desktop\\figure-it\\学习\\python";
fileNames = os.listdir(dir);
if(len(fileNames)>0):
for fn in fileNames:
if(fn.find("_") != -1):
n = fn[0:len(fn)-4];
names = n.split('_');
last = names[-1];
suffix = fn[len(fn)-4:len(fn)];
path = "";
for name in names:
path = os.path.join(path,name);
fullpath = os.path.join(dir,path);
if not os.path.exists(fullpath):
os.makedirs(fullpath);
shutil.copy(os.path.join(dir,fn),fullpath);
os.remove(os.path.join(dir,fn));
os.rename(os.path.join(fullpath,fn),os.path.join(fullpath,last+suffix));
- 3 回答
- 0 关注
- 322 浏览
添加回答
举报
0/150
提交
取消