python对指定目录下文件进行批量重命名的方法(锦集9篇)由网友“en”投稿提供,以下是小编整理过的python对指定目录下文件进行批量重命名的方法,仅供参考,希望能够帮助到大家。
篇1:python对指定目录下文件进行批量重命名的方法
作者:work24 字体:[增加 减小] 类型:
这篇文章主要介绍了python对指定目录下文件进行批量重命名的方法,涉及Python中replace及join方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了python对指定目录下文件进行批量重命名的方法,分享给大家供大家参考。具体如下:
这段python代码可对c:temp目录下的所有文件名为”scroll_1”文件替换为”scroll_00”
import spath = ‘c:temp‘for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: newname = file.replace(“scroll_1”, “scroll_00”) os.rename(os.path.join(path,file),os.path.join(path,newname)) print(file)
希望本文所述对大家的Python程序设计有所帮助,
篇2:在Linux中对文件进行批量重命名文件的方法
在Linux中,当你想要改变一个文件名,使用mv命令就好了,然而mv不能使用通配符重命名多个文件。可以用sed、awk或者与xargs结合使用来处理多个文件的情况。然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错。你不会想要撤销1000个文件的错误名吧!
当你想要重命名多个文件的时候,rename 工具或许是最简单、最安全和最强大的命令行工具。这个rename命令实际上是一个Perl脚本,它预安装在所有的现在Linux发行版上。
下面是重命名命令的基本语法。
代码如下:
rename [-v -n -f]
是Perl兼容正则表达式,它表示的是要重命名的文件和该怎么做。正则表达式的形式是‘s/old-name/new-name/’。
‘-v’选项会显示文件名改变的细节(比如:XXX重命名成YYY)。
‘-n’选项告诉rename命令在不实际改变名称的情况下显示文件将会重命名的情况。这个选项在你想要在不改变文件名的情况下模拟改变文件名的情况下很有用。
‘-f’选项强制覆盖存在的文件。
下面,就让我们看下rename命令的几个实际例子。
改变文件扩展名
假设你有许多.jpeg的图片文件。你想要把它们的名字改成.jpg。下面的命令就会将.jpeg 文件改成 *.jpg。
代码如下:
$ rename ‘s/.jpeg$/.jpg/‘ *.jpeg
大写改成小写,反之亦然
有时你想要改变文件名的大小写,你可以使用下面的命令。
把所有的文件改成小写:
代码如下:
# rename ‘y/A-Z/a-z/‘ *
把所有的文件改成大写:
代码如下:
# rename ‘y/a-z/A-Z/‘ *
更改文件名模式现在让我们考虑更复杂的包含子模式的正则表达式,
在PCRE中,子模式包含在圆括号中,$符后接上数字(比如$1,$2)。
比如,下面的命令会将‘imgNNNN.jpeg’变成‘danNNNN.jpg’。
代码如下:
# rename -v ‘s/img_(d{4}).jpeg$/dan_$1.jpg/‘ *.jpeg
img_5417.jpeg renamed as dan_5417.jpg
img_5418.jpeg renamed as dan_5418.jpg
img_5419.jpeg renamed as dan_5419.jpg
img_5420.jpeg renamed as dan_5420.jpg
img_5421.jpeg renamed as dan_5421.jpg
比如,下面的命令会将‘img_000NNNN.jpeg’变成‘dan_NNNN.jpg’。
代码如下:
# rename -v ‘s/img_d{3}(d{4}).jpeg$/dan_$1.jpg/‘ *jpeg
img_0005417.jpeg renamed as dan_5417.jpg
img_0005418.jpeg renamed as dan_5418.jpg
img_0005419.jpeg renamed as dan_5419.jpg
img_0005420.jpeg renamed as dan_5420.jpg
img_0005421.jpeg renamed as dan_5421.jpg
上面的例子中,子模式‘d{4}’会捕捉4个连续的数字,捕捉的四个数字就是$1, 将会用于新的文件名。
篇3:Python删除指定目录下过期文件的2个脚本
最近更 新
python连接MySQL、MongoDB、Redis、memca
python list转dict示例分享
python str与repr的区别
python读取Android permission文件
Python 正则表达式操作指南
可用于监控 mysql Master Slave 状态的py
easy_install python包安装管理工具介绍
python文件比较示例分享
tornado捕获和处理404错误的方法
python解析xml模块封装代码
热 点 排 行
Python入门教程 超详细1小时学会
python 中文乱码问题深入分析
比较详细Python正则表达式操作指
Python字符串的encode与decode研
Python open读写文件实现脚本
Python enumerate遍历数组示例应
Python 深入理解yield
Python+Django在windows下的开发
python 文件和路径操作函数小结
python 字符串split的用法分享
篇4:如何对多个一连串的文件进行重命名
当您从数码相机上下载照片时,这些照片通常使用无法识别的名称,按照所介绍的操作步骤,您可以一次对多个的文件进行重命名,这种方式同样适用于重命名其它类型的文件。
如需对一连串文件进行重命名,请依次执行以下操作步骤:
1、打开My Pictures(我的图片)文件[依次点击Start(开始)、My Pictures(我的图片)]。或者打开其它包含需要重命名文件的文件夹。
2、选择您需要重命名的文件,
如果这些文件在文件列表中是非连续的,请按住CTRL键并依次点击每一个希望选中的文件。
3、在File(文件)菜单上,单击Rename(重命名)。
4、输入新的名称,并按下ENTER 键。
您所选定的所有文件将使用新的名称按照编号顺序进行重命名。举例来说,如果您输入Birthday,那么,第一个文件将被命名为Birthday,后续文件将被依次命名为Birthday(1)、Birthday(2)等等。如需设定起始编号,请将其输入到新文件名后的括号中。整个序列中的文件将从您所输入的数值开始进行编号。例如,如果您输入Birthday(10),那么,其它文件将被依次命名为Birthday(11)、Birthday(12)等等。
篇5:python清除指定目录内所有文件中script的方法
作者:秋风秋雨 字体:[增加 减小] 类型:
这篇文章主要介绍了python清除指定目录内所有文件中script的方法,涉及Python针对文件、字符串及正则匹配操作的相关技巧,需要的朋友可以参考下
本文实例讲述了python清除指定目录内所有文件中script的方法,分享给大家供大家参考。具体如下:
将脚本存储为stripscripts.py
调用语法 : python stripscripts.py
使用范例 : python stripscripts.py d:myfiles
# Hello, this is a script. written in Python. See www.pyhon.orgimport os,sys,string,remessage = “”“ stripscripts 1.1p - Script. stripper This script. will walk a directory (and its subdirectories) and disable all scripts (javascript, vbscript...) from .html and .htm files. (The scripts will not be deleted, but simply deactivated, so that you can review them if you like.) Can be usefull for sites you have downloaded with HTTrack or similar tools. No more nosey or buggy scripts in your local html files. Syntax : python %s 希望本文所述对大家的Python程序设计有所帮助, 作者:yak 字体:[增加 减小] 类型:转载 这里将某个目录下的所有文件从一种编码转换为另一种编码,然后保存 import osimport shutildef match(config,fullpath,type): flag=False if type == ‘exclude‘: for item in config[‘src‘][‘exclude‘]:if fullpath.startswith(config[‘src‘][‘path‘]+os.path.sep+item): flag=True break if type==‘filter‘: for item in config[‘src‘][‘filter‘]:if fullpath.endswith(item): flag=True break return flagdef conver_file(param): for root, dirs, files in os.walk(param[‘src‘][‘path‘]): for filename in files:readfile=root+os.path.sep+“%s” %filenameprint(readfile)if ‘filter‘ in param[‘src‘]: if not (match(param,readfile,‘filter‘)): continues=‘‘utfile=readfile.replace(param[‘src‘][‘path‘],param[‘dest‘][‘path‘])try : s=open(readfile,encoding=param[‘src‘][‘encoding‘]).read()except: print(“file %s read erro” % readfile) shutil.copy(readfile,outfile)if s: #False and print(“save”) with open(outfile, mode=‘w‘, encoding=param[‘dest‘][‘encoding‘]) as a_file: a_file.write(s) for dirname in dirs:file=root+os.path.sep+“%s” %dirnameif ‘exclude‘ in param[‘src‘]: if(match(param,file,‘exclude‘)): continueutdir=file.replace(param[‘src‘][‘path‘],param[‘dest‘][‘path‘])#print(outdir)if not os.path.isdir(outdir): os.mkdir(outdir)if __name__ == “__main__”: param={‘src‘:{‘path‘:r‘D:worktesttrunk‘,‘encoding‘:‘gbk‘,‘exclude‘:[‘dataa‘],‘filter‘:[‘.php‘,‘.html‘,‘.htm‘]}, ‘dest‘:{‘path‘:“f:testnew”,‘encoding‘:‘utf-8‘}} conver_file(param) 希望本文所述对大家的Python程序设计有所帮助, 作者:pythoner 字体:[增加 减小] 类型: 这篇文章主要介绍了python检测是文件还是目录的方法,涉及Python针对文件及目录的检测技巧,需要的朋友可以参考下 本文实例讲述了python检测是文件还是目录的方法,分享给大家供大家参考, 具体实现方法如下: import osif os.path.isdir(path): print “it‘s a directory”elif os.path.isfile(path): print “it‘s a normal file”else: print “it‘s a special file (socket, FIFO, device file)” 希望本文所述对大家的Python程序设计有所帮助。 本文章来给大家介绍关于rsync同步指定多文件目录方法,希望此文章对各位朋友会有所帮助哦, 说明: 使用rsync -av --exclude=upload /home/mysql/backup /home/mysql/backup2/ 只能排除upload文件/目录。但如果要排除多个文件/目录,就需要新建个exclude.list,然后rsync -av --exclude-from=“exclude.list”指定不需要同步的文件/目录 实现: # rsync -av --exclude-from=/root/exclude.list /home/mysql/backup /home/mysql/backup2/ //将/home/mysql/backup目录拷贝到/home/mysql/backup2目录下,/root/exclude.list中指定文件不拷贝。 注意exclude.list里面填写要排除的文件/目录,一行一个,直接写文件名即可。 所以如果要排除a,b.1,b.2,tmp/g,那么exclude.list里就应该写 a b.* tmp/g 而不是填写以下完整url, 不然这样还是会同步a,b.1,b.2,tmp/g /home/mysql/backup/a /home/mysql/backup/b.* /home/mysql/backup/tmp/g 当然以下这种写法也是会同步a,b.1,b.2,tmp/g文件的,也是有问题 ./home/mysql/backup/a ./home/mysql/backup/b.* ./home/mysql/backup/tmp/g 附录: --exclude-from=FILE read exclude patterns from FILE --include=PATTERN don't exclude files matching PATTERN --include-from=FILE read include patterns from FILE , 分享给大家供大家参考。具体实现方法如下: # if you know the exact name: import os files = os.listdir(‘/path/to/dir/‘) # if you want shell-style. globbing: import glob files = glob.glob(‘/path/to/dir/*.html‘) 希望本文所述对大家的Python程序设计有所帮助。 【python对指定目录下文件进行批量重命名的方法(锦集9篇)】相关文章: 网数据库的代码集合2022-12-27 dedecms数据库文章、标题、和正文内容批量替换2022-10-15 如何正确有效学习计算机二级2023-05-19 python自定义解析简单xml格式文件的方法2022-05-07 Python实现简单拆分PDF文件的方法2022-05-07 对联生成器2023-02-01 linux目录简单介绍Linux2022-11-11 Python使用稀疏矩阵节省内存实例2023-07-12 Python导入oracle数据的方法2023-06-20 Linux系统中获取路径的文件名的方法2023-10-08篇6:Python实现批量转换文件编码的方法
篇7:python检测是文件还是目录的方法
篇8:rsync同步指定多文件目录方法linux操作系统
篇9:python列出目录下指定文件与子目录的方法