这是我现在的代码:
with open(file_name, "wb+") as destination:
for chunk in file.chunks():
destination.write(chunk)
问题是,file
包含一些任意文本,任意字符。例如,它可能包含一些西里尔字符。因此,当我写入file_name
时,我收到此错误消息:
ascii编解码器无法编码字符\ u0410
有趣的是,在Windows服务器上,我没有收到此错误,而当我使用CentOS服务器时,我得到了一个。
如果重要,我正在使用Python 3。
修改
我能够将问题降到最低。整个问题甚至不是在阅读文件,而是在打开它。该文件(用windows-1252编码)命名为“А-1.TAB”,其中“А”是西里尔字符。所以,由于CentOS上的一些奇怪的原因,Python无法打开以这种方式命名的文件。所以现在即使这段代码也行不通:
target = open(file_name, 'wb+')
修改
这是fstab的内容,如果重要的话:
这是mtab的内容:
此外,我应该补充一点,我试图触摸12-A.TAB
,其中A是一个西里尔字符并且效果很好。