本文实例讲述了Python实现批量转换文件编码的方法。分享给大家供大家参考。具体如下:
这里将某个目录下的所有文件从一种编码转换为另一种编码,然后保存
import os
import shutil
def 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 flag
def conver_file(param):
for root, dirs, files in os.walk(param['src']['path']):
for filename in files:
readfile=root+os.path.sep+"%s" %filename
print(readfile)
if 'filter' in param['src']:
if not (match(param,readfile,'filter')):
continue
s=''
outfile=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" %dirname
if 'exclude' in param['src']:
if(match(param,file,'exclude')):
continue
outdir=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:\work\test\trunk','encoding':'gbk','exclude':['dataa'],'filter':['.php','.html','.htm']},
'dest':{'path':"f:\\test\\new",'encoding':'utf-8'}}
conver_file(param)
希望本文所述对大家的Python程序设计有所帮助。
标签:
Python,批量转换,文件编码
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“Python实现批量转换文件编码的方法”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。