Python3从⼀个⽂件夹复制⽂件到另⼀个⽂件夹需求:从input⽂件夹中随机获取⼀定数量的jpg⽂件复制到output⽂件夹中,
如果input⽂件夹中有与选中的jpg⽂件⽂件名相同的ans⽂件则复制到output⽂件夹中参考⽹页地址:
代码:
1#!/usr/bin/env python
2# encoding: utf-8
3
4import os, random, glob
5from shutil import copyfile
6
7
8#定义要处理的⽂件夹变量
9#choseImg是随机选中的jpg⽂件⽂件名包括后缀
10 choseImg = []
11
12def copyFile(inputDir, outDir, count):
13#通过glob.glob来获取原始路径下,所有'.jpg'⽂件
14 imageList1 = glob.glob(os.path.join(inputDir, '*.jpg'))
15#随机获取count数量的jpg⽂件
16 imageRandom = random.sample(imageList1, count)
17
18#遍历所有随机得到的jpg⽂件,获取⽂件名称(包括后缀)
19for item in imageRandom:
20 choseImg.append(os.path.basename(item))
21
22#os.path.splitext(),返回元组,为⽂件名称与⽂件后缀格式
23for item in choseImg:
24#将随机选中的jpg⽂件遍历复制到⽬标⽂件夹中
25 copyfile(inputDir+'/'+item, outDir+'/'+item)
26
27#更改jpg⽂件后缀为ans
28 (temp1, temp2) = os.path.splitext(item)
29 temp = temp1 + '.ans'
30if ists(inputDir+'/'+temp):
31#将ans⽂件遍历复制到⽬标⽂件夹中
32 copyfile(inputDir+'/'+temp, outDir+'/'+temp)
33return
34
35if__name__ == '__main__':
36 inputfile = input('请输⼊原始路径(如:E:/input/):')
37 outfile = input('请输⼊⽬标路径(如:E:/output/):')
38 count = int(input('请输⼊随机选取的数量(如:3):'))
39#指定到⽂件后,另存为的⽂件夹路径
40 outDir = os.path.abspath(outfile)
41#指定⽂件的原始路径
42 inputDir = os.path.abspath(inputfile)
43 copyFile(inputDir, outDir, count)
出现的错误:
1.inconsistent use of tabs and spaces in indentationpython怎么读文件夹下的文件夹
解决办法:重新调整代码缩进,每次缩进都使⽤8个space
参考地址:
2.没有判断ans⽂件是否在⽬录中存在
增加判断: if ists(inputDir+'/'+temp):
参考地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论