1.批量复制文件到新文件夹并重新按顺序命名
复制文件要用到shutil.copy(),所以要下载shutil库,到Anaconda Prompt输入命令:pip install pytest-shutil
注意:其中zfill6)的作用是将1变为6位数,缺少位置0代替,结果就是00001
1 # -*- coding: utf-8 -*-
2 """
3 Created on Fri May 15 14:38:21 2020
4
5 @author: panq
6 """
7
8 import os
9 import shutil
10
11 def alter_fileNamepath): # 获取目录下所有jpg格式文件的文件名
12 n=0
13 filelist= os.listdirtarge_path)
14 for i in filelist: #i是path目录下的文件名
15 oldname=targe_path+os.sep+filelist[n]#oldname是原文件路径
16 newname=targe_path+os.sep+strn+1).zfill6)+'.jpg'#newname是新文件名,路径+新文件名
17 os.renameoldname,newname) #改名字
18 printoldname,'======>',newname)
19 n+=1
20
21
22 def file_copypath,targe_path): #将path目录下所有jpg文件复制到targe_path
23 '''
24 root 所指的是当前正在遍历的这个文件夹的本身的地址
25 dirs 是一个 list ,内容是该文件夹中所有的目录的名字不包括子目录)
26 files 同样是 list , 内容是该文件夹中所有的文件名不包括子目录)
27 '''
28 for root,dirs,files in os.walkpath):
29 for name in files:
30 if name.endswith'.jpg'):#若文件名结尾是以jpg结尾,则复制到新文件夹
31 list=os.path.joinroot,name)) #list是jpg文件的全路径
32 shutil.copylist, targe_path) #将jpg文件复制到新文件夹
33
34 path="F:任务1测试数据"
35 targe_path="F:panqiaoyan"
36 file_copypath, targe_path)
37 alter_fileNametarge_path)
2.使用 python 编写一个自动程序,把所有的图片提取出来,第 1类的放在一个新建文件夹名字“1”里面,第 2 类的放在一个新建文件夹名字“2”里 面 , 依 次 类 推 。 且 图 片 需 要 重 新 命 名 , 第 1 类 的 图 片 命 名 为100001,100002,……;第 2 类的图片命名为 200001,200002,……;依次类推
注:1、2、3、4、5文件夹我已经建好了,你也可以程序自动创建。其中zfill5)的作用是将1变为5位数,缺少位置0代替,结果就是0001
1 # -*- coding: utf-8 -*-
2 """
3 Created on Sat May 16 17:53:44 2020
4
5 @author: panq
6 """
7 import os
8 import shutil
9
10 path="F:任务2测试数据"
11 targe_path="F:panqiaoyan01"
12 n1=0 #记录第一类的个数
13 n2=0
14 n3=0
15 n4=0
16 n5=0
17 for root,dirs,files in os.walkpath):
18 for name in files:
19 if name.startswith"1"): #当照片是第一类时,复制到1文件夹
20 targe_path1="F:/panqiaoyan01/1"
21 list=os.path.joinroot,name)) #原文件路径
22 shutil.copylist, targe_path1) #将未改名的文件复制到新文件夹中
23 oldname=targe_path1+os.sep+name #复制之后的旧文件名路径+文件名)
24 newname=targe_path1+os.sep+"1"+strn1+1).zfill5)+'.jpg' #新文件名路径+文件名)
25 os.renameoldname,newname) #到新文件夹处改文件名
26 n1+=1
27 if name.startswith"2"):
28 targe_path1="F:/panqiaoyan01/2"
29 list=os.path.joinroot,name))
30 newname=targe_path1+os.sep+"2"+strn2+1).zfill5)+'.jpg'
31 oldname=targe_path1+os.sep+name
32 shutil.copylist, targe_path1)
33 os.renameoldname,newname)
34 n2+=1
35 if name.startswith"3"):
36 targe_path1="F:/panqiaoyan01/3"
37 list=os.path.joinroot,name))
38 newname=targe_path1+os.sep+"3"+strn3+1).zfill5)+'.jpg'
39 oldname=targe_path1+os.sep+name
40 shutil.copylist, targe_path1)
41 os.renameoldname,newname)
42 n3+=1
43 if name.startswith"4"):
44 targe_path1="F:/panqiaoyan01/4"
45 list=os.path.joinroot,name))
46 newname=targe_path1+os.sep+"4"+strn4+1).zfill5)+'.jpg'
47 oldname=targe_path1+os.sep+name
48 shutil.copylist, targe_path1)
49 os.renameoldname,newname)
50 n4+=1
51 if name.startswith"5"):
52 targe_path1="F:/panqiaoyan01/5"
53 list=os.path.joinroot,name))
54 oldname=targe_path1+os.sep+name
55 shutil.copylist, targe_path1)
56 newname=targe_path1+os.sep+"5"+strn5+1).zfill5)+'.jpg'
57 os.renameoldname,newname)
58 n5+=1