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小时内删除。