python批量修改文件编码格式的方法

本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下

使用说明:

1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里

2、环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下

举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下:

python:

import os
import sys
import codecs
import chardet 

def convert(filename,out_enc="UTF-8"):
  try:
    content=codecs.open(filename,'r').read()
    source_encoding=chardet.detect(content)['encoding']
    print source_encoding 

    content=content.decode(source_encoding).encode(out_enc)
    codecs.open(filename,'w').write(content)
  except IOError as err:
    print("I/O error:{0}".format(err)) 

def explore(dir):
  for root,dirs,files in os.walk(dir):
    for file in files:
      if os.path.splitext(file)[1]=='.cpp':
        print file
        path=os.path.join(root,file)
        convert(path) 

def main():
  explore(os.getcwd()) 

if __name__=="__main__":
  main() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现按特定格式对文件进行读写的方法示例

    本文实例讲述了Python实现按特定格式对文件进行读写的方法.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 class ResultFile(object): def __init__(self, res): self.res = res def WriteFile(self): fp = open('pre_result.txt', 'w') print 'write start!' try: for item in self.re

  • 浅谈python中对于json写入txt文件的编码问题

    最近一直在研究python+selenium+beautifulsoup的爬虫,但是存入数据库还有写入txt文件里面的时候一直都是unicode编码的格式. 接下来就是各种翻阅文档,查找谷歌和度娘,但是都没有具体的说明是什么问题. 结果根据自己的代码发现,原来是一句代码写到后面去了. name = json.dumps('中国你好', ensure_ascii=False) #重点就是这一句代码 date = time.strftime('%Y-%m-%d', time.localtime(ti

  • python 设置文件编码格式的实现方法

    如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码.(python3已经没有这个问题了,python3默认的文件编码是UTF-8) 必须将编码注释放在第一行或者第二行,一般来说,Python文件的前两行要这样写: #!/usr/bin/python # -*- coding: UTF-8 -*- 其中第一行是指定python解释器,第二行是指定python文件编码方式,设置编码方式有以下可选的方法 1. 带等号的设置方法:

  • Python 查看文件的编码格式方法

    在读取中文的情况下,通常会遇到一些编码的问题,但是首先需要了解目前的编码方式是什么,然后再用decode或者encode去编码和解码,下面是使用chardet库来查看编码方式的. import chardet path = "E:/t.csv" #path = "E:/t.zip" f = open(path,'rb') data = f.read() print(chardet.detect(data)) 打印结果如下: {'encoding': 'GB2312'

  • python编码总结(编码类型、格式、转码)

    本文详细总结了python编码.分享给大家供大家参考,具体如下: [所谓unicode] unicode是一种类似于符号集的抽象编码,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储.也就是它只是一种内部表示,不能直接保存.所以存储时需要规定一种存储形式,比如utf-8和utf-16等.理论上unicode是一种能够容纳全世界所有语言文字的编码方案.(其他编码格式不再多说) [所谓GB码] GB就是"国标"的意思,即:中华人民共和国国家标准.GB码是面向汉字的编码,包括

  • python指定写入文件时的编码格式方法

    实例如下: #encoding=utf-8 content=u"广东松炀再生资源股份有限" content=content.encode("utf-8")#写入的文件编码格式为utf-8 with open("testbianma.txt","w")as f: f.write(content) 以上这篇python指定写入文件时的编码格式方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python批量修改文件编码格式的方法

    本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1.使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里 2.环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下 举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下: python: import os import sys import codecs

  • javascript批量修改文件编码格式的方法

    本文实例讲述了javascript批量修改文件编码格式的方法.分享给大家供大家参考.具体如下: 摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @para

  • Python批量修改文件后缀的方法

    近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4" 缀, 但是手动修改又太过繁琐, 所以用近期刚学的 Python 来偷懒吧 !   : ) 如图为程序运行前的文件名 我们要做的呢, 就是在当前目录下,新建一个python文件, 如上图 demo2.py 然后用编辑器打开敲入如下代码: 复制代码 代码如下: import os # 列出当前目录下所有的文

  • Python批量修改文本文件内容的方法

    Python批量替换文件内容,支持嵌套文件夹 import os path="./" for root,dirs,files in os.walk(path): for name in files: #print name if name.endswith(".html"): #print root,dirs,name filename=root+"/"+name f=open(filename,"r") fileconten

  • Python实现修改文件内容的方法分析

    本文实例讲述了Python实现修改文件内容的方法.分享给大家供大家参考,具体如下: 1 替换文件中的一行 1.1 修改原文件 ① 要把文件中的一行Server=192.168.22.22中的IP地址替换掉,因此把整行替换. data = '' with open('zhai.conf', 'r+') as f: for line in f.readlines(): if(line.find('Server') == 0): line = 'Server=%s' % ('192.168.1.1',

  • python批量修改图片后缀的方法(png到jpg)

    本人最近在利用faster_rcnn训练kitti数据集,其中需要将kitti数据集转为voc数据集,但是发现: kitti图片是png格式 voc2007是jpg格式 其中有7000多张图片需要批量转换,在网上发现一些代码,但跑起来有错误,于是本人稍作修改: import os import string dirName = "D:your path\\" #最后要加双斜杠,不然会报错 li=os.listdir(dirName) for filename in li: newnam

  • nodejs批量修改文件编码格式

    摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @param {Array}  [file_type] [需要进行转码的文件格式,比如html文件]  *

  • PHP批量修改文件名称的方法分析

    本文实例讲述了PHP批量修改文件名称的方法.分享给大家供大家参考,具体如下: 在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项. 从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用. 程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称: 首先判断用户给出的目录是不是一个合法目录: 我们这里只是修

  • php实现批量修改文件名称的方法

    本文实例讲述了php实现批量修改文件名称的方法.分享给大家供大家参考,具体如下: <?php session_start(); set_time_limit(0); //function allfile($dir) // { // $files=array(); // if(is_file($dir)) // { // return $dir; // } // $handle = opendir($dir); // if($handle) { // while(false !== ($file

  • 通过python顺序修改文件名字的方法

    问题:将文件夹a下任意命名的10个文件修改为如下图所示文件? 代码: #coding:utf-8 import os path = "./a/" dirs = os.listdir(path) print type(dirs) for i in range(0,10): oldname = path + dirs[i] newname = path + "%02d"%i +".txt" os.rename(oldname,newname) 以上这

随机推荐