python - 如何处理python中的重音字符?
问题描述
我知道有很多关于它的材料,但我无法为我的问题找到解决方案。
我将这段文本写在我必须操作的 txt 文件中,等等,它包含许多重音字符。由于某种原因,我无法正确管理它们。这是我的代码:
file = open ('parsed.txt', 'w', encoding = 'latin1')
file.write('ààààà')
这工作正常。
但我也需要使这项工作正常:
with open('input.txt', 'r', encoding = 'latin1') as f:
string = f.read()
or_array = string.splitlines()
new_array = []
for line in or_array:
new = (line[13:]).strip()
print(new)
new_array.append(new)
new_string = ''
for lin in new_array:
new_string += lin
new_string += ' '
f_n = open('parsed.txt', 'w', encoding = 'latin1')
f_n.write(new_string)
该代码有什么问题?
输入:
00:00:06.49 ciaò
00:00:20.665 Questa è una provà
00:00:44.157 èè aa ò à ùù ù
00:00:44.157
输出:
ciaò Questa è una provàèè aa ò à ùù ù
谢谢你。
解决方案
如果input.txt的内容实际上在 ISO-8859-1 中,则对我有用。如果它是 UTF-8 格式,那么您会得到不正确的结果。换句话说,当我复制/粘贴您的输入时,我会得到一个内容为 UTF-8 的文件。如果我这样做了,iconv -f utf-8 -t L1 < utf8.txt > input.txt
那么您的程序可以正常工作。
顺便说一句,您的程序不是惯用的 python,并且在大量输入上效率会非常低。
推荐阅读
- javascript - “未捕获的语法错误:无法在模块外使用 import 语句”尝试将库导入 JavaScript 文件
- reactjs - React 测试 - TypeError:baseReducer 不是函数
- python - 为什么这些 Python 发送/接收套接字函数如果调用缓慢则可以工作,但如果连续快速调用则失败?
- php - laravel 控制器重定向只显示在控制台中,实际上并不重定向页面
- javascript - 使用默认值初始化函数会导致额外的未定义日志
- javascript - 如何使用reduce和ramda“hex2color”函数来计算十六进制值列表而不是颜色名称中的r?
- python - 计算 2 个不同文件中多个点之间的两个位置的距离
- javascript - 从过滤可观察数组中获取第一个值
- java - 无法通过双击打开 .jar 文件
- css - 变换:scale() 不从中心变换