python批量文件复制、剪切、重命名
1. 同一文件复制多份
from shutil import copyfile
for i in range(1, 121975):
copyfile('D:/2020_spring/data//no_cancer_64/1.png',
'D:/2020_spring/data/no_cancer_64/GTM_val/'+str(i)+'.png')
#copyfile()第一个参数为需要复制的文件,第二个参数为复制目标地址和名称
2.某一文件夹下的文件复制到另一文件夹且命名不变
from shutil import copyfile
path1 = "D:/xxx" #需要复制的文件所在地址
path2 = "D:/xxx" #目标地址
filename_list = os.listdir(path)
for filename in filename_list:
portion = os.path.splitext(filename)
filename = path1 + '/' + filename
newname = path2 + '/' + filename
copyfile(filename, newname)
3.剪切某一文件夹下的文件
文件按数字编号时
from shutil import move
j = 1
for i in range(1,100): #假设文件名从1到100编号
move('D:/xxx/'+str(i)+'.png',
'D:/xxx/'+str(j)+'.png')
j += 1 #将保存的文件从1开始编号
文件名没有规律时
from shutil import move
path1 = "D:/xxx" #需要复制的文件所在地址
path2 = "D:/xxx" #目标地址
filename_list = os.listdir(path)
for filename in filename_list:
portion = os.path.splitext(filename)
filename = path1 + '/' + filename
newname = path2 + '/' + filename
move(filename, newname)
4.同一文件夹下文件重命名
将同一文件夹下的无序命名文件重新编号
import os
path = "D:/xxx"
filename_list = os.listdir(path)
i = 1
for filename in filename_list:
portion = os.path.splitext(filename)
filename = path + '/' + filename
newname = 'D:/xxx/' + str('%03d' % i) + '.png'
os.rename(filename, newname) #命名为001.png 002.png……
i += 1