如何将多个文件夹里面的图片放在一起
RT在D:\images下有:abc,abc(1),abc(2)...abc(n)
还有aaa, aaa(1), aaa(2)。。。。aaa(n)
里面都是图片,然后图片名字也不一样
请问要如何把abc,abc(1),abc(2)...abc(n)里面的图片统一放在abc里面
aaa, aaa(1), aaa(2)。。。。aaa(n) 里面的图片统一方在aaa里面
不知道怎么实现,有大佬会吗{:10_266:}
先用os模块递归列举出所有文件夹下文件,根据后缀名筛选出图片文件,再调用cmd命令的move,将文件移动到指定文件夹内,这样应该就可以了 import os
import shutil
path = '目标文件夹路径'
for each in os.listdir(path):
if '分类关键词' in each:
path_1 = path + os.sep + '分类关键词'
if os.path.exists(path_1):
shutil.move(path + os.sep + each, path_1)
else:
os.mkdir(path_1)
shutil.move(path + os.sep + each, path_1) os和shutil模块 kylin121380 发表于 2020-9-24 12:05
谢谢大佬,我先去试试{:10_275:} 本帖最后由 疾风怪盗 于 2020-9-24 12:26 编辑
import os, shutil
'''
在D:\images下有:abc,abc(1),abc(2)...abc(n)
还有aaa, aaa(1), aaa(2)。。。。aaa(n)
里面都是图片,然后图片名字也不一样
请问要如何把abc,abc(1),abc(2)...abc(n)里面的图片统一放在abc里面
aaa, aaa(1), aaa(2)。。。。aaa(n) 里面的图片统一方在aaa里面
'''
file_path = r'D:\python\test\abc'# 目标文件夹
file_list = []
file_all = os.walk(file_path)# 列举出所有文件和文件夹,迭代器
for i in file_all:
print(i)
'''
('D:\\python\\test\\abc', ['abc (3)', 'abc (5)', 'abc1', 'abc1 (2)', 'abc1 (4)', 'abc2', 'jpg'], [])
('D:\\python\\test\\abc\\abc (3)', [], ['1 - 副本 (2) - 副本.jpg'])
...
'''
for j in i:# 去掉第一个纯文件夹目录
if len(j) > 0:# 去掉空文件夹
for k in j:
if os.path.splitext(k) == '.jpg':# 判断后缀名是否为图片
file_list.append(i + os.sep + k)# 组合路径
print(file_list)
for i in file_list:
shutil.move(i, file_path)# 移动文件
kylin121380 发表于 2020-9-24 12:05
大佬,移是能移了,但确实把整个文件夹都移过去了,能不能只移里面的内容啊,辛苦大佬了{:10_278:} jtxs0000 发表于 2020-9-24 12:28
大佬,移是能移了,但确实把整个文件夹都移过去了,能不能只移里面的内容啊,辛苦大佬了
if 里面加个判断是不是文件的
if '分类关键词' in each and os.path.isfile(path + os.sep + each):
页:
[1]