python[Errno 22]无效模式(“wb”)或文件名:u'Escuela Sab\xe1tica Part 2.doc'

2024-10-04 01:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我见过很多类似的问题,但没有一个能解决我的问题。我试图用unicode文件名打开文件,但出现错误:

[Errno 22]无效的模式(“wb”)或文件名:u'Escuela Sab\xe1tica Part 2.doc'

我试过用开放式,编解码器.打开,和io.打开打开这个文件(我不认为这对二进制文件很重要,但不管怎样)。没有骰子。我想线索可能是文件名:

u'Escuela Sab\xe1tica第2部分.doc'

打印时,此文件名工作正常:

埃斯库埃拉萨巴蒂卡第2部分.doc

但我觉得奇怪的是错误将它打印为u'…\xe1…'而不是u'…\uxxx…'。我对unicode还是不满意,所以这是我的怀疑。在打开之前,我尝试了对文件名('utf-8')进行编码和解码,但没有成功。在

编辑:版本是python2.7.3。代码段:

with open(to_path, "wb") as to_file:
    to_file.write(f.read())

该错误可追溯到“with open”行,该代码适用于文件名中没有unicode的文件。在


Tags: 文件todoc文件名错误withunicodeopen