小编Ped*_*ade的帖子

如何将 .write() 用于外语字符(ã、à、ê、ó、...)

我正在 Python 3 中处理一个小项目,我必须扫描一个装满文件的驱动器并输出一个 .txt 文件,其中包含驱动器内所有文件的路径。问题是一些文件是巴西葡萄牙语,其中包含“重音字母”,例如“não”、“você”等,而这些特殊字母在最终的 .txt 中被错误地输出。

代码只是下面这几行:

import glob

path = r'path/path'

files = [f for f in glob.glob(path + "**/**", recursive=True)]

with open("file.txt", 'w') as output:
    for row in files:
        output.write(str(row.encode('utf-8') )+ '\n')
Run Code Online (Sandbox Code Playgroud)

输出示例

path\folder1\Treino_2.doc
path\folder1\Treino_1.doc
path\folder1\\xc3\x81gua de Produ\xc3\xa7\xc3\xa3o.doc
Run Code Online (Sandbox Code Playgroud)

最后一行显示了一些输出是如何错误的,因为x81gua de Produ\xc3\xa7\xc3\xa3o应该是Régua de Produção

python encoding glob python-3.x

2
推荐指数
1
解决办法
67
查看次数

标签 统计

encoding ×1

glob ×1

python ×1

python-3.x ×1