Plone技术资料

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5245|回复: 1

批量转换文本文件编码

[复制链接]
发表于 2011-10-26 07:44:09 | 显示全部楼层 |阅读模式
  1. #version 2.0

  2. # updated by Adam on 2005-10-31

  3. #version 1.0

  4. # updated by Adam on 2005-9-29



  5. import os

  6. #import glob

  7. import string

  8. from os.path import *

  9. def Adjustcodec(orig,targetcode,oriname,targetname):

  10.   

  11.     try:        

  12.         inf=open(oriname)

  13.         try:

  14.             im = inf.read().decode(orig)

  15.             inf.close()

  16.             im2 = im.encode(targetcode)

  17.             jb = open(targetname,'w')

  18.             jb.write(im2)

  19.             jb.close()

  20.         except:

  21.             pass

  22.                

  23.     except:

  24.         print oriname      

  25. def processFiles(SFilepath,DFilepath):   

  26.     global root,dirs,files

  27.     import re

  28.     s1=len(SourcePath)

  29.     for root, dirs, files in os.walk(SFilepath):

  30.         if len(files)!=0:                                    

  31.             for name in files:           

  32.                 if name[-4:]!=".txt" :

  33.                     continue

  34.                 #fetch the file path info

  35.                 suffix=name.split('.')[-1]

  36.                 pic=os.path.join(root, name)            

  37.                 temp=pic[s1+1:]

  38.                 ts=string.split(temp,'.')

  39.                 temp1=ts[0]

  40.                 # replace more than one spaces using '_' in filename

  41.                 temp2=re.sub('\s+|-+','_',temp1)

  42.                 # add filename suffix

  43.                 temp3=temp2 + r'.' + suffix

  44.                

  45.                 #group the full destination path of file

  46.                 Dpic=os.path.join(DestPath, temp3)

  47.                

  48.                 if os.path.isdir(DFilepath):

  49.                     pass

  50.                 else:

  51.                     os.makedirs(DFilepath)               

  52.                 try:

  53.                     Adjustcodec("mbcs","utf-8",pic,Dpic)     # store the big photo

  54.                     

  55.                 except:

  56.                     continue            

  57.         if len(dirs)!=0:

  58.             #obey the source directory tree to build destination directory tree

  59.             for dr in dirs:               

  60.                 SFilepath=os.path.join(root, dr)               

  61.                 temp=SFilepath[s1+1:]                           

  62.                 DFilepath=os.path.join(DestPath, temp)

  63.                 if os.path.isdir(DFilepath):

  64.                     pass

  65.                 else:

  66.                     os.makedirs(DFilepath)

  67. if __name__ == '__main__':

  68.     SourcePath=r'E:\test'

  69.     DestPath=r'E:\test2'

  70.     maxsize=180

  71.     os.chdir(SourcePath)   

  72.     SFilepath=SourcePath

  73.     DFilepath=DestPath      

  74.     processFiles(SFilepath,DFilepath)     





  75.    
复制代码


回复

使用道具 举报

发表于 2011-12-15 12:26:33 | 显示全部楼层
收藏了...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|Plone技术资料 ( 湘ICP备14006519号-1 )

GMT+8, 2019-11-21 06:36 , Processed in 0.045911 second(s), 17 queries , Gzip On.

Powered by Plone! X3.4

© 2001-2019 Plone.org.

快速回复 返回顶部 返回列表