python 批量移动文件
背景
文件夹下有a、b命名的2个文件夹,a、b文件夹下分别有以日期命名的30个文件夹,日期文件夹下有多个图片。
需要把a文件夹每个日期文件夹内的某些文件,移动到另外的路径。
环境
python与库包
pip install os
pip install shutil
代码
import os
import shutil
# srcfile 需要复制、移动的文件
# dstpath 目的地址
def mymovefile(srcfile,dstfile):
if not os.path.isfile(srcfile):
print("%s not exist!"%(srcfile))
else:
shutil.move(srcfile,dstfile) #移动文件
print("move %s -> %s"%( srcfile,dstfile))
def mycopyfile(srcfile,dstfile):
if not os.path.isfile(srcfile):
print("%s not exist!"%(srcfile))
else:
shutil.copyfile(srcfile,dstfile) #复制文件
def isdirExist(path):
isExist=os.path.exists(path)
if not isExist:
os.makedirs(path)
return True
else:
# 如果目录存在则不创建,并提示目录已存在
return False
originpath = r'C:\Users\ss\Desktop\0321-数据汇交图集\海洋数值预报解释应用产品\密度跃层顶厚度'
#移动到声速文件夹
movepathsound = r'C:\Users\ss\Desktop\0321-数据汇交图集\海洋数值预报解释应用产品\密度跃层深度'
filelist = os.listdir(originpath)
for dirname in filelist:
#带日期的路径
fullpath = os.path.join(originpath,dirname)
for file in os.listdir(fullpath):
filename0 = os.path.splitext(file)[0] #读取文件名
if filename0 == 'dc_10_h0' or filename0 == 'dc_18_h0' or filename0 == 'dc_113_h0' or filename0 == 'dc_121_h0':
#进入目标文件夹新建文件夹
#os.chdir(movepathsound)
dfilename = os.path.join(movepathsound,dirname)
print('dirname='+dirname)
isdirExist(dfilename)
#进入源文件夹移动文件
os.chdir(fullpath)
srcfile1=os.path.join(fullpath,'dc_10_h0.png')
mymovefile(srcfile1,dfilename)
srcfile2=os.path.join(fullpath,'dc_18_h0.png')
mymovefile(srcfile2,dfilename)
srcfile3=os.path.join(fullpath,'dc_113_h0.png')
mymovefile(srcfile3,dfilename)
srcfile4=os.path.join(fullpath,'dc_121_h0.png')
mymovefile(srcfile4,dfilename)
版权声明:本文为sunnysu99原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。