gpt4 book ai didi

python - 在 unix 机器上运行下面的代码时出现问题,但相同的代码在运行 Windows 时工作正常

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:27 25 4
gpt4 key购买 nike

我正在尝试使用以下代码将 unicode 字符替换为 ascii 字符。相同的代码在 Windows 机器上工作,但在 unix 机器上运行时出现错误:

"TypeError: expected a character buffer object"

#!/usr/bin/python2
# coding=utf-8
import sys

s = open(sys.argv[1], "r")

table = {
0xe4: u'a',
ord(u'ö'): u'o',
ord(u'ü'): u'u',
ord(u'é'): u'e',
ord(u'ß'): u'b',
}

for i in s:
print ("Translated Content in file:",str(i).translate(table));
s.close()

输入文件 (utf8.txt) 传递给具有以下内容的脚本

sömé täßt
sömé täßt
sömé täßt

预期结果是:

Translated Content in file: some tabt

Translated Content in file: some tabt

Translated Content in file: some tabt

Unix 机器中的实际结果:

Traceback (most recent call last):
File "unicode.py", line 17, in <module>
print ("Translated Content in file:",str(i).translate(table));
TypeError: expected a character buffer object

需要就此问题提出建议。

最佳答案

您可以跳过使用translate,而是直接访问表(作为字典):

for i in s:
print ("Translated Content in file:",table.get(str(i),str(i)));

关于python - 在 unix 机器上运行下面的代码时出现问题,但相同的代码在运行 Windows 时工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57855852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com