python 批量修改某目录下的所有文件

#! /usr/bin/python

# coding:utf-8

“‘

主要需求是 修改指定目录下的所有文件名称(比如所有图片文件名称统一加上_)

设计如下

1,先确定好一个路径

2,区分是否是目录还是文件

3,如果是文件,怎么区分是图片

4,确定了图片,需要对文件名进行修改

作者 琦琦爸爸

’”

 


# -*- coding:utf-8 -*-

import os
def change_name(path):
    #下面这段if判断的代码的主要意思是,判断是否是目录或者是文件
if not os.path.isdir(path) and not os.path.isfile(path):
return False
    #如果是文件

if os.path.isfile(path):
    #用来区分文件目录和文件名称。2个打印内容实际中可以不写,这里主要是为了看清楚

wenjianlujin=os.path.split(path)
print(wenjianlujin[0])
print(wenjianlujin[1])
    #下面这段代码主要是用来将获取到的文件名称按split方法来切割获取文件前缀和文件后缀
     wenjianmingchen=wenjianlujin[1]

wenjianmingchafen=wenjianmingchen.split('.')
print(wenjianmingchafen[0])
print(wenjianmingchafen[1])
    #定义一个列表,用来规定哪些文件满足要改名字的后缀

biaozhungeshi=['bmp','jpeg','gft','psd','png','jpg']
    根据获取到的文件后缀,在上面的列表中遍历

if wenjianmingchafen[1] in biaozhungeshi:
#如果遍历到需要修改的文件,用os.rename(旧名字,新名字)
os.rename(path,wenjianlujin[0]+'/'+wenjianmingchafen[0]+'_1'+wenjianmingchafen[1])
  #判断给定的路径是否是目录

if os.path.isdir(path):
    #如果是目录,则遍历目录列表中的所有项

for x in os.listdir(path):
      #下面代码将遍历每个文件,并且将目录名称和文件名称组成带文件名称的完整路径

name=os.path.join(path,x)
#print(name)
        #将完整路径再次传输给函数change_name

change_name(name)
#定义一个需要修改的文件的目录路径
img_dir="C:\Users\Administrator\Desktop\image"
#将'\'转变成'/' 注意'\'需要使用\来转义

img_dir=img_dir.replace('\\','/')
#将路径当成参数传递给函数
change_name(img_dir)


posted @ 2017-05-04 21:49  琦琦爸爸  阅读(1434)  评论(0编辑  收藏  举报