这是某论坛一个用户发了个求助的帖子:
标题为:【求助】求一个目录操作批处理 bat或者python3
系统windows7
bat/python3 都可以
源目录路径d:aa下游很多目录及子目录 ,目标目录d:bb\
例
d:aaab01目录下没有任何文件和目录则跳过
d:aaab02ab目录下包含后缀含.abc的文件,则把ab02目录移动到 d:bb目录下
d:aaab03c包含后缀为.abc的文件,则把ab03目录移动到d:bb目录下
d:aaab04目录下都是空的子目录,不含文件,则跳过
下面是我提供的python 脚本
import os
import shutil
source_path = "C:\\Users\\Linc\\Desktop\\CCF\source"
target_path = r"C:\\Users\\Linc\\Desktop\\CCF\target"
ext = ".txt"
source_dirs = os.listdir(source_path)
print "Let's start ..."
#先取出目标文件夹下面的文件(或者目录)
for x in source_dirs:
full_root_file_path = os.path.join(source_path,x)
file_found = False
#如果是目录,则遍历该目录
if os.path.isdir(full_root_file_path):
sWalk = os.walk(full_root_file_path)
for root,dirs,files in sWalk:
for i in range(0,files.__len__()):
file_path = os.path.join(root,files[i])
#如果包括.txt扩展名 , 则标记找到,并跳出当前目录的查找
#防止多次找到,然后目录已移走,第二次移动时报错
if ext in file_path:
file_found = True
continue
if file_found:
print "Moving directory %s" % full_root_file_path
shutil.move(full_root_file_path.strip(), target_path)
print "Finished!"
转载请注明:Linc Hu » 脚本干活:python 脚本进行相关目录操作