重命名批处理python脚本_python

将Copy of ********.bmp或者Copy of Copy of ********.bmp 此类文件统一命名为********0.bmp 或者********00.bmp等格式,后面的0的个数代表********.bmp出现的次数+1。写了个下面的小脚本:

复制代码 代码如下:

import os
"""
这个程序是用来将文件名改名,因为在文件夹里面有很多Copy of 重文件名,因此去掉windows
重命名风格而换用新的累加命名机制
作者:chenxofHit@gmail.com
时间:2011年4月13日
"""
def getFileNames(dirs, dict):
#dir为目录名,lst列表
filenames=os.listdir(dirs)
for name in filenames:
key = filenames[filenames.index(name)]
sign = "Copy Of "
judge = key.find(sign)
if (judge != -1 ):
dict[key] = 1
else: #提取其中的真实文件名
trueKey= key[-12:] #因为真实的文件名都是在12位
if trueKey not in dict: #字典中不存在
dict[trueKey]=1
os.rename(dirs+str(os.sep)+name,dirs+str(os.sep)+trueKey)
else:
#split finames
newKey= str(trueKey[:-4])+str('0'*dict[trueKey])+ str(trueKey[-3:])
dict[trueKey] = dict[trueKey]+1
os.rename(dirs+os.sep+name,dirs+os.sep+newKey)

if '__name__=__main__':
dict={}
dirs = "C://temp"
getFileNames(dirs, dict)

用到了字典,用到了os模块,学到了一些东西,呵呵!

时间: 2024-11-16 19:26:48

重命名批处理python脚本_python的相关文章

Python和perl实现批量对目录下电子书文件重命名的代码分享_python

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名: 例如: python代码如下: 复制代码 代码如下: import os import re def rename_dir(dir,regex,f):   if not os.path.isdir(dir) or not os.path.exists(dir) :     print("The input is not one directory or

用python实现批量重命名文件的代码_python

下面是最终代码 (windows下实现的) 复制代码 代码如下: # -*- coding: cp936 -*- import os path = 'D:\\图片\\' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: if file.find('.')<0: newname=file+'rsfdjndk.jpg' os.rename(os.path.join(path,file),os

寻找网站后台地址的python脚本_python

#!/usr/bin/python # This was written for educational purpose only. Use it at your own risk. # Author will be not responsible for any damage! # ################################################################# # ______ ____ ____ # # | _ \ \ \ / / # #

写了个监控nginx进程的Python脚本_python

复制代码 代码如下: #!/usr/bin/env python import os, sys, time while True: time.sleep(3) try: ret = os.popen('ps -C nginx -o pid,cmd').readlines() if len(ret) < 2: print "nginx process killed, restarting service in 3 seconds." time.sleep(3) os.system(

解决谷歌搜索技术文章时打不开网页问题的python脚本_python

注意:Win7或者WIn8用户要用管理员权限执行. 项目地址:http://code.google.com/p/my-hosts-file/downloads 复制代码 代码如下: import urllib      import os      import shutil      hostspath = "C:\\Windows\\System32\\drivers\\etc"      savepath = hostspath + "\\hostsave" 

python对指定目录下文件进行批量重命名的方法_python

本文实例讲述了python对指定目录下文件进行批量重命名的方法.分享给大家供大家参考.具体如下: 这段python代码可对c:\temp目录下的所有文件名为"scroll_1"文件替换为"scroll_00" import os path = 'c:\\temp' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: newname = file.replace

java实现文件重命名的方法_java

本文实例讲述了java实现文件重命名的方法.分享给大家供大家参考.具体如下: 下载的电影总是有一些存在网站名称等没用的信息 作为一个强迫症患者 一定要删除他们 package sys.file; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; public class ZReName { public static void main(Str

Python批量重命名同一文件夹下文件的方法

  本文实例讲述了Python批量重命名同一文件夹下文件的方法.分享给大家供大家参考.具体分析如下: 朋友发了一个文件夹过来,里面的图片都以 .tmp 为后缀. 手工修改的话工作量太大.故写了一个 Python 脚本进行批量重命名. 对 Python 的标准库不熟,只能边查资料,或者 help() 边写代码. 三行代码就可以解决这一问题. 不过没有捕获异常.不能迭代同一目录下的所有文件. 代码如下: ? 1 2 3 4 import os for file in os.listdir(".&qu

文件夹取其名称前两位重命名的批处理代码_DOS/BAT

将所有文件夹取其名称前两位重命名的批处理脚本: 复制代码 代码如下: @echo off& setlocal enableDelayedExpansion set n = 41029 for /f "delims=" %%a in ('dir /ad /b') do (set a=%%a ren "%%a" 41029!a:~0,2! ) pause 对以上代码的解释: 其中 /ad 是只显示目录,就是剔除文件,只显示文件夹. /b是使用空格式(没有标题信息