使用Python更改带有目录的* .txt文件的编码

时间:2019-04-15 07:20:12

标签: python encoding directory

我想将python目录中的.txt文件的编码更改为UTF-8,有什么方法吗?

感谢您的支持。

我已经在这里查看了stackoverflow用户已经提到的解决方案:How to convert a file to utf-8 in Python?

我想将其应用于目录中特定类别的所有文件,而不是一个文件。

import codecs
BLOCKSIZE = 1048576 # or some other, desired size in bytes
with codecs.open(sourceFileName, "r", "your-source-encoding") as sourceFile:
    with codecs.open(targetFileName, "w", "utf-8") as targetFile:
        while True:
            contents = sourceFile.read(BLOCKSIZE)
            if not contents:
                break
            targetFile.write(contents)

1)我想将目录中文件的编码更改为UTF-8,我知道输入的编码。

2)是否有在不知道输入编码的情况下转换为UTF-8的解决方案? (目前尚不重要,但是如果已经存在解决方案,那么很高兴知道这一点)

1 个答案:

答案 0 :(得分:0)

将下面的行放在代码with codecs.open(sourceFileName, "r", "your-source-encoding") as sourceFile的上方:

for sourceFileName in os.listdir("./Your_File_path"):

如果您只想执行.txt文件,并且在您的路径中它们也属于其他文件,请执行glob

import glob
for filename in glob.glob('*.txt'):