Python实现批量转换文件编码的方法
本文实例讲述了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程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai
