为了账号安全,请及时绑定邮箱和手机立即绑定

今天项目经理叫我写一个python脚本,但是我从没写过脚本文件,求大神门帮忙

今天项目经理叫我写一个python脚本,但是我从没写过脚本文件,求大神门帮忙

largeQ 2018-07-16 15:16:46
如题,需求如下:假如在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";
		}
	}
}


查看完整回答
反对 回复 2018-07-18
?
智慧大石

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));


查看完整回答
反对 回复 2018-07-18
  • 3 回答
  • 0 关注
  • 303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信