如何用python批量修改文件名,python批量修改文件格式
最近比较苦恼批量修改文件的名字,文件名字还要根据表格对应进行修改,最近刚接触python,所以想到利用大蟒读取超过文件对文件自动化的进行改名,以下就开始进行尝试。
# -*-编码:utf-8 -*-
导入读操作
导入操作系统
path_c= .\ \照片
xlsname=regulation.xls
bk=xlrd.open_workbook(xlsname)
#shxrange=range(bk.nsheets)
尝试:
sh=bk.sheet_by_name(Sheet1 )
除了:
在名为工作表1的%s中"打印"无工作表" % xlsname
nrows=sh.nrows
ncols=sh.ncols
print nrows %d,ncols %d % (nrows,ncols)
#cell_value=sh.cell_value(1,1)
#打印单元格值
row_list=[]
#获取各行数据
对于范围内的我(1,n行):
row_data=sh.row_values(i)
row_list.append(row_data)
#打印行数据
定义更改名称(文件名,法规):
对于我中的规定:
打印报告(i[0])报告(文件名)
如果我[0]。encode(gbk)==文件名:#excel中的字符串为unicode,而文件字符串为商业版
返回我[1]
返回文件名
定义重命名文件(路径,规则):
filelist=os.listdir(路径)#该文件夹下所有的文件(包括文件夹)
对于文件列表中的文件:
#打印文件
Olddir=os.path.join(路径,文件)#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹,递归地进行修改
重命名_文件(旧目录,规则)
继续
文件名旧=操作系统。路径。分割扩展名(文件)[0]#文件名
filetype _ old=OS。路径。分割扩展名(文件)[1]#文件扩展名
Newdir=os.path.join(path,change_name(filename_old,regulations) filetype_old)
打印旧目录-新目录
os.rename(Olddir,Newdir)#重命名
重命名文件(路径c,行列表)
总的来说主要分为两部分,读取超过表格,修改文件名。主要问题出现在编码问题上,在字符串比较时确定两边是同一编码,详情见参考文献。
示例
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。