python 转换文件编码

Python代码  

  1. ''''' 
  2. Created on 2013-2-26 
  3.  
  4. @author: whuang 
  5. '''  
  6.   
  7. def convertEncoding(from_encode,to_encode,old_filepath,target_file):  
  8.     f1=file(old_filepath)  
  9.     content2=[]  
  10.     while True:  
  11.         line=f1.readline()  
  12. #        print line  
  13.         content2.append(line.decode(from_encode).encode(to_encode))  
  14.         if len(line) ==0:  
  15.             break  
  16.   
  17.     f1.close()  
  18.       
  19. #    print line  
  20.     f2=file(target_file,'w')  
  21.     f2.writelines(content2)  
  22.     f2.close()  
  23.   
  24. def convertFromGBK2utf8(filepath):  
  25. <strong><span style="color: #ff0000;">#把文件由GBK编码转换为UTF-8编码,也就是filepath的编码是GBK</span></strong>  
  26.     convertEncoding("GBK", "UTF-8", filepath, filepath+".bak")  
  27.   
  28. def convertFromUTF82gbk(filepath):  
  29. #<span style="color: #ff0000;"><strong>把文件由UTF-8编码转换为GBK编码,也就是filepath的编码是UTF-8</strong></span>  
  30.     convertEncoding("UTF-8", "GBK", filepath, filepath+".bak")  
  31.    
  32. filepath="e:\\test\\test5.txt"  
  33. convertFromUTF82gbk(filepath)  

 

时间: 2024-07-29 17:51:08

python 转换文件编码的相关文章

Linux系统下转换文件编码的方法小结

  一.利用iconv命令进行文件内容编码转换 用法: iconv [选项...] [文件...] 有如下选项可用: 输入/输出格式规范: -f, --from-code=名称 原始文本编码 -t, --to-code=名称 输出编码 信息: -l, --list 列举所有已知的字符集 输出控制: -c 从输出中忽略无效的字符 -o, --output=FILE 输出文件 -s, --silent 关闭警告 --verbose 打印进度信息 -?, --help 给出该系统求助列表 --usag

vbs脚本实现批量转换文件编码_vbs

最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默认编码格式是Gb2312.系统内的编码格式有所区别倒无伤大雅,关键的是SourceInsight竟不支持UTF-8,导致项目代码内的中文注释全部乱码! 既然SourceInsight不支持UTF-8编码的文件,那我们就得想办法将UTF-8的代码文件转化为GB2312编码的.首先想到的是到网上搜一下"批量编码转换工具",结

python实现批量转换文件编码(批转换编码示例)_python

复制代码 代码如下: # -*- coding:utf-8 -*-__author__ = 'walkskyer' import osimport glob class Encoding:    def __init__(self):        #文件扩展名        self.ext = ".*"        #编码        self.srcEncoding=None        self.dstEncoding=None     def convertEncodi

linux中利用shell实现批量转换文件编码

原理跟简单:递归,iconv  代码如下 复制代码 #!/bin/sh TGT="source_rst" function fe_convert() {     for file in `ls $1`     do         if [ -d $1"/"$file ]         then         fe_convert $1"/"$file         else         mkdir -p `dirname $TGT&q

php实现文件编码批量转换

 转换文件编码,比如原来是gbk,转换成utf-8的,可以转单个文件也可以转换整个目录的文件,可选是否递归目录 有些问题,不能重复转,比如gbk转到utf8,然后有在转成utf8,这样会乱码,我本来试图在转换之前去检测编码的,貌似失败了.我特意试了一个文件,我检测它是是否是gbk或者是utf-8,都返回true.这就不懂了.    代码如下: <?php /**  * 转换文件编码  * 依赖的扩展filesystem 和 mbstring  * @example  * <pre>  *

php实现文件编码批量转换_php实例

有些问题,不能重复转,比如gbk转到utf8,然后有在转成utf8,这样会乱码,我本来试图在转换之前去检测编码的,貌似失败了.我特意试了一个文件,我检测它是是否是gbk或者是utf-8,都返回true.这就不懂了. 复制代码 代码如下: <?php/** * 转换文件编码 * 依赖的扩展filesystem 和 mbstring * @example * <pre> * include_once 'ConvertEncode.php'; * $convert = new ConvertE

Python中字符集编码和文件读写实现程序

python中默认编码是ASCII,可以通过以下方式设置和获取: import sys print sys.getdefaultencoding() sys.setdefaultencoding('gbk')但直到python重新启动后新的默认编码才会生效,我试了一下,setdefaultencoding总是会出错,没有这个属性.用dir看,确实没有,python版本是2.5,不知道是否被取消了. 使用print来输出时,python将内容传递给系统处理,windows会按照系统默认编码来输出.

批量转换目录下文件编码的shell脚本代码_linux shell

一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){    for file in `ls $1`   

PHP转换文件夹下所有文件编码的实现代码_php技巧

PHP转换文件夹下所有文件的编码 适合发布网站的其他编码版本 比如你有一个GBK版本 你想有一个UTF8版本 或者你只有GBK的源码 你想二次开发 但是你不想改变IDE的编码方式 你可以用这个程序将其批量转化为UTF8:代码如下: 复制代码 代码如下: <?php/*** 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码* @param string $filename*/function iconv_file($filename,$input_encoding='gbk',$outpu