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

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. Android ndk第一步,构建jni headers

    转载请注明出处:http://www.cnblogs.com/fpzeng/p/4281801.html 源码请见 https://github.com/fpzeng/HelloJNI PC系统: u ...

  2. 解决android studio 创建新项目后假死

    概况:升级sdk编译api后,创建新的android项目后,在构建过程中假死:原有创建的项目 均运行正常:但是新建的项目只要build,电脑除了鼠标之外的,什么都动不了. 通过一系列的折腾,并重启了N ...

  3. 为GCD队列绑定NSObject类型上下文数据-利用__bridge_retained(transfer)转移内存管理权-备

    下面评论的好友“@Jim”给了种新的思路,就是在清除context的函数里面,用“_bridge_transfer”转换context,把context的内存管理权限重新交给ARC,这样,就不用显式调 ...

  4. Animate 动画

    angular 也提供了animate service 涉及 $animate,$animateProvider 1.2办法后通过 angular-animate.js 还扩展了一些功能 先来说说大致 ...

  5. C#中使用命名管道进行进程通信的实例

    原文:C#中使用命名管道进行进程通信的实例 1 新建解决方案NamedPipeExample 在解决方案下面新建两个项目:Client和Server,两者的输出类型均为"Windows 应用 ...

  6. 【C++模版之旅】静态多态的讨论

    说到面向对象特性之一“多态”,以我的水平已经说不出太多新意了.相信很多程序员代码K多了,做梦都在“多态中”运行着.常规的多态是C++语义内置支持的一种特性,通过虚函数可以实现这个特性,为了后面以示区别 ...

  7. 基本NT式驱动代码结构

    #include <ntddk.h> void DriverUnload(IN PDRIVER_OBJECT DriverObject);NTSTATUS MyCreateClose(IN ...

  8. hdu 2817 A sequence of numbers(快速幂)

    Problem Description Xinlv wrote some sequences on the paper a long time ago, they might be arithmeti ...

  9. java常用方法

    public static int byte2int(byte b) { int i = b & 0x07f; if (b < 0) { i |= 0x80; } return i; } ...

  10. (转)iOS Wow体验 - 第八章 - 易用性与自动化技术

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第八章译文精选,也是全书译文的最后一篇.上一篇:W ...