Python遍历路径下文件并转换成UTF-8编码

 代码如下 复制代码

import sys
import string
import os

def detect_nowalk(dir_path):
    files = os.listdir(dir_path)
    for filename in files:
        print "file:%sn" % filename
        next = os.path.join(dir_path, filename)
        if os.path.isdir(next):
            print "file folds:%sn" % filename
            detect_nowalk(next)

if __name__ == "__main__":
    detect_nowalk(".")
import sys
import os

def detect_walk(dir_path):
    for root, dirs, files in os.walk(dir_path):
        for filename in files:       
            print "file:%sn" % filename
        for dirname in dirs:
            print "dir:%sn" % dirname

if __name__ == "__main__":
    detect_walk(".")  另外附上使用第一种方法转换文件编码的源码,有的文件转换后用gedit打开是乱码,但用vi查看是正确的。

import sys
import string
import codecs
import os
import shutil

def gbkToUtf8(path):
    files = os.listdir(path)
    for filename in files:
        if os.path.isdir(filename):
            print "file folds:%sn" % filename
            gbkToUtf8(filename)
            continue

        try:
            tokens = string.splitfields(filename, '.')
            if len(tokens) != 2 or tokens[1] != 'txt':
                #print tokens[1]
                continue
            else:
                print 'Encode Converting (GBK to UTF-8) : ', filename
                utfFile=open(filename)
                tstr = utfFile.read()
                #tstr = utfFile.read().decode("gbk") is wrong
                tstr = tstr.encode("UTF-8")
                utfFile.close()
                utfFile = open(filename, 'w')
                utfFile.write(tstr)
                utfFile.close()
        except:
            print "error %s" %filename
       
if __name__ == "__main__":
    gbkToUtf8(".")

时间: 2024-09-20 05:29:24

Python遍历路径下文件并转换成UTF-8编码的相关文章

python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序?

问题描述 python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序? python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序? 而且好像都是按行进行split的,我想操作的对象是列,1先按一列排序,2再提取两列,这两个都不知道该怎么做 解决方案 http://zhidao.baidu.com/link?url=sKzE1u-i3iTwADOH0IZtNcAgQAMRHE10S-_VIxUTxj7we1cglIaMCSSY_KDC6dpNYTrihBZ5GROHY

win7系统下pdf格式文件怎么转换成excel表格格式

  win7系统下pdf格式文件怎么转换成excel表格格式?有时候由于工作需要会把pdf格式文件转换成excel表格格式,但是不知道怎么设置,如果照着原文重新输入一遍是非常浪费时间的,而且还容易出错,有什么简单方法可以让pdf转excel表格格式吗?方法当然是有的,下面小编给大家介绍win7系统下pdf格式文件转换成excel表格格式的方法. 具体方法如下: 1.首先安装一个pdf格式转换工具到电脑中; 2.下载安装好转换软件之后,双击软件的快捷图标打开软件,选择要转换的文件格式; 3.接着把

格式 webp-谷歌的webp图片格式如何在windows下使用java转换成其他格式

问题描述 谷歌的webp图片格式如何在windows下使用java转换成其他格式 参考了http://blog.csdn.net/geeklei/article/details/41147479,可以在linux下成功执行,但是在windows下编译出dll和jar始终无法正确运行java.lang.IllegalArgumentException: image == null!无法识别这样的图片格式 解决方案 Java webp转jpg webp是最近google推出的新的图片格式 googl

python使用PythonMagick将jpg图片转换成ico图片的方法

  这篇文章主要介绍了python使用PythonMagick将jpg图片转换成ico图片的方法,涉及PythonMagick模块操作图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了python使用PythonMagick将jpg图片转换成ico图片的方法.分享给大家供大家参考.具体分析如下: 这里使用到了PythonMagick模块,关于PythonMagick模块和ImageMagick的详细信息请参考:http://www.imagemagick.org/. 下面这段

win7系统下png图片转换成jpg格式的方法

  win7系统下png图片转换成jpg格式的方法            方法一:通过重命名的方法转换. 1.在电脑中找到要转换成jpg格式的png图片; 2.然后鼠标右键点击该png图片,在弹出的菜单中,点击"重命名"; 3.然后在重命名的图片输入框里,如下图点击选择png; 4.接下来如下图将png直接修改成jpg; 5.将png修改成jpg后,在修改输入框外边,点击下鼠标,这时png图片的格式即成功修改成jpg格式了.

WPS演示文件怎么转换成ppt格式的doc文件?

  WPS演示文件怎么转换成ppt格式的doc文件?          1.在计算机桌面的Wps演示图标上双击鼠标左键,将其打开运行.在运行的Wps演示程序中,打开需要编辑或者修改的PPT文稿.如图所示; 2.在打开的Wps文稿窗口,依次点击"Wps演示"-->"另存为"-->"转为WPS文字文档"选项.如图所示; 3.点击转为WPS文字文档选项后,这个时候会打开"转为WPS文字文档"对话框.如图所示; 4.在转为

Python简单删除目录下文件以及文件夹的方法

  本文实例讲述了Python简单删除目录下文件以及文件夹的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python import os import shutil filelist=[] rootdir="/home/zoer/aaa" filelist=os.listdir(rootdir) for f in filelist: filepath = os.path.join( root

c++-C++下int型转换成固定长度二进制字符串

问题描述 C++下int型转换成固定长度二进制字符串 我想把int型的数据转换成32位的01字符串 用itoa函数的话,前面的0好像会被忽略掉,有什么简单的函数可以用? 解决方案 int main() { char str[] = "00000000000000000000000000000000"; int n = 1234; for (int i = 0; i < 32; i++) if (((1 << i) & n) == (1 << i))

如何获取一个路径下文件的读写权限

问题描述 如何获取一个路径下文件的读写权限?要代码谢谢 解决方案 解决方案二:一个目录下的文件可能权限多不一样的DirectoryInfodirInfo=newDirectoryInfo("D:\");foreach(FileInfofInfoindirInfo.GetFiles()){boolisReadOnly=fInfo.IsReadOnly;}解决方案三:不是我主要是想获取一下这个文件夹的读写权限,不是文件的请问该怎么写解决方案四:没弄过解决方案五:DirectoryInfod