#手动选择路径,批量改名

import os,re,time,tkFileDialog
global i
#文件名后面增加后缀:txt,png,bng,jpeg,jpg,gif,zip类型的文件
def change_name(path,text):
global i
if not os.path.isdir(path) and not os.path.isfile(path):
return False
elif os.path.isfile(path):
file_text=os.path.split(path)
lists=file_text[-1].split('.')
os.rename(path,file_text[0]+'\\'+lists[0]+text+'.'+lists[-1])#添加后缀
i+=1
elif os.path.isdir(path):
for x in os.listdir(path):
change_name(os.path.join(path,x), text)
#修改后缀名,将图片统一修改为jpg
def change_ext(path):
global i
if not os.path.isdir(path) and not os.path.isfile(path):
return False
elif os.path.isfile(path):
file_text=os.path.split(path)
lists=file_text[-1].split('.')
mange=['jpeg','png','gif','bng','psd']
if lists[1] in mange:
os.rename(path,file_text[0]+'\\'+lists[0]+'.'+'jpg')
i+=1
elif os.path.isdir(path):
for x in os.listdir(path):
change_ext(os.path.join(path,x)) print'0代表更换文件名,其它代表改扩展名'
name=int(raw_input('请选择更换文件名还是改变扩展名:'))
lj=tkFileDialog.askdirectory()
i=0
if name==0:
gb_name=str(raw_input('输入添加的后缀:'))
start_time=time.time()
change_name(lj,gb_name)
end_time=time.time()
print '开始时间:',start_time,'结束时间:',end_time,'用时:',end_time-start_time
print('共处理了%s个文件'%(i))
else:
start_time=time.time()
change_ext(lj)
end_time=time.time()
print '开始时间:',start_time,'结束时间:',end_time,'用时:',end_time-start_time
print('共处理了%s个图片'%(i))

python文件_改名2的更多相关文章

  1. python文件_批量改名

    #! /usr/bin/env python #coding=gbk #文件操作实例--将文件夹下所有图片名称加上'_test' import re,os,time #str.split(path) ...

  2. python文件_目录

    #! /usr/bin/env python #coding=gbk import os import time #设置文件的默认路径,当指定的目录不存在时,引发异常:WindowsError:[er ...

  3. python文件批量改名

    python对文件进行批量改名用到的是os模块中的listdir方法和rename方法. os.listdir(dir)  :获取指定目录下的所有子目录和文件名 os.rename(原文件名,新文件名 ...

  4. python文件_读取

    1.文件的读取和显示 方法1: f=open(r'G:\2.txt') print f.read() f.close() 方法2: try: t=open(r'G:\2.txt') print t.r ...

  5. python文件_写入

    1.输入的数据写入到一个文本: #这个写入操作不会将原来的数据覆盖掉 n=raw_input('请输入写入的文件数据:') fl2=open('g:/2.txt','a') fl2.write('\n ...

  6. python 文件批量改名重命名 rename

    path = '/Volumes/Seagate/dev/imgs/' os.chdir(path) print('cwd: ', os.getcwd()) for f in os.listdir(' ...

  7. python开发_搜索本地文件信息写入文件

    功能:#在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件 #然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的 #文件(如果文件不存在,则建立相应的文件)中 之前 ...

  8. python习题_读写csv格式的文件

    1.读写TXT文件 # *_* coding : UTF-8 *_* # 开发人员 : zfy # 开发时间 :2019/7/7 16:26 # 文件名 : lemon_10_file.PY # 开发 ...

  9. python学习_数据处理编程实例(二)

    在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...

随机推荐

  1. C 语言链表操作例程 (待完善)

    #include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#inclu ...

  2. centos6 安装 lamp

    首先更新一下yum -y update 安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start 启动apache 设 ...

  3. Chrome下的语音控制框架MyVoix.js使用篇(一)

    日前因工作需求,着手研究了语音识别技术,发现github上有网友发布了一款叫做voix.js的javascript框架.在拜读voix.js的源码后发现了不少问题,于是自己写了一款语音识别框架MyVo ...

  4. While installing plugin in eclipse luna, “Unable to acquire PluginConverter service” and “No repository found” errors appear in logs

    http://stackoverflow.com/questions/18767831/while-installing-plugin-in-eclipse-luna-unable-to-acquir ...

  5. cf C. Knight Tournament

    http://codeforces.com/contest/357/problem/C #include <cstdio> #include <cstring> #includ ...

  6. QT下实现对Linux Shell调用的几种方法

    使用QProcess QThread ============================================ #include <QProcess>int main(){ ...

  7. Android SDK 下载速度慢解决方法

    Mac 本搞Android开发,遇到Android SDK 下载速度慢,解决方法大概有两种.第一,FQ.这种方法比较彻底,但是要想有稳定的效果还的要花大价钱.第二,有些高人直接给了SDK中各软件的下载 ...

  8. TestNG基本注解(注释)

    传统的方式来表示JUnit3中的测试方法是测试自己的名字前缀.标记一个类中的某些方法,具有特殊的意义,这是一个非常有效的方法,但命名不很好的扩展(如果我们想添加更多标签为不同的框架?),而非缺乏灵活性 ...

  9. BZOJ1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚

    1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 414  Solved: ...

  10. Jquery回车键切换焦点方法(兼容各大浏览器)

    做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息. 第一想法就是,网上去copy一段代码直接用.但了百度.谷歌找了个遍,找到的代码80%以上都是一样的.有的代码 ...