[python遍历文件夹下所有文件]Python遍历路径下文件并转换成UTF-8编码

时间:2017-11-02  来源:python  阅读:
 代码如下


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(".")

[python遍历文件夹下所有文件]Python遍历路径下文件并转换成UTF-8编码

http://m.bbyears.com/jiaocheng/36759.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新