|
发表于 2017-4-8 15:32:54
|
显示全部楼层
- # -*- coding: utf-8 -*-
- import os
- def s_jpg(dir1):
- """'# 判断指定文件夹下的文件type是不是图片'
- 'dir1 ,输入一个指定目录'
- 'dir_list,输入一个工作目录的目录List'
- 'return : 输出一个jpg文件收集的list"""
- os.chdir(dir1)
- print('当前目录是:',os.getcwd())
- dir_list = os.listdir(os.curdir)
- jpg_list = list()
- for file in dir_list:
- if os.path.isfile(file):
- exten = os.path.splitext(file)
- if exten[1] in '.jpg.JPG':
- jpg_list.append(file)
- print('当前有%d个图片文件等待处理' % len(jpg_list))
- return jpg_list
- def split_name(jpg_list):
- """jpg_list 输入一个jpg文件收集的list'
- '遍历文件做一个交集(set)dir_file,然后遍历dir_file去创建目录'
- '遍历目录,文件夹,运用cmd的move命令把文件放进文件夹里面'
- """
- dir_file = set()
- for file in jpg_list:
- cut_name = file.split('_')
- print(cut_name)
- dir_file.add(cut_name[0])
- # 开始创建目录
- for N_dir in dir_file:
- os.mkdir(N_dir)
- # 遍历目录
- for N_dir in dir_file:
- # 遍历文件
- for file in jpg_list:
- cut_name = file.split('_')
- if cut_name[0] == N_dir:
- # 运用cmd的move命令把 文件怼进去
- os.system('move "%s" "%s"' % (file, N_dir))
- # 开始工作
- dir1 = input('请输入你的工作(文件夹)目录:')
- jpg_list = s_jpg(dir1)
- split_name(jpg_list)
复制代码
如果不想用集合可以用try的方法,去遍历文件创建文件夹.
还有,我是看着硬盘的图片实际情况做的,他们命名格式多为'_'下划线作为分隔.如果想要改成像题目一样的话.可以改cut_name = file.split('_')这里.
新手刚学了1个月左右. |
评分
-
查看全部评分
|