Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解码python电子邮件中的utf文件名?_Python_Email_Decode - Fatal编程技术网

如何解码python电子邮件中的utf文件名?

如何解码python电子邮件中的utf文件名?,python,email,decode,Python,Email,Decode,我使用代码解包电子邮件文件,这是解包MIME消息的一部分,但我的问题是uft文件名,如: =?utf-8?B?2YbYs9iu2YcgINin2YTYrdin2YLZitmHINmC2LHYp9ix2K/Yp9ivINin2LM=?= =?utf-8?B?2KrYp9mG2K/Yp9ix2K8g2LPYp9iy2YogMTExMTEuZG9jeA==?= 这是使程序崩溃的原因 fp = open(os.path.join(directory, filename), 'wb') 与 因为它包含

我使用代码解包电子邮件文件,这是解包MIME消息的一部分,但我的问题是uft文件名,如:

=?utf-8?B?2YbYs9iu2YcgINin2YTYrdin2YLZitmHINmC2LHYp9ix2K/Yp9ivINin2LM=?= =?utf-8?B?2KrYp9mG2K/Yp9ix2K8g2LPYp9iy2YogMTExMTEuZG9jeA==?=
这是使程序崩溃的原因

fp = open(os.path.join(directory, filename), 'wb')

因为它包含不可接受的字符,或者我认为这是因为它。它不是像这样可以解码的


第一个问题是传递此错误,第二个问题是解码文件名。

接受一个字符串,并以
[(文本,编码),…]
的形式返回元组列表,其中
编码
用于未编码的片段(因此表面上具有
ascii
编码).

这不是UTF,而是。这不是文件名,而是文件内容本身。实际上,这是编码。它看起来不像文件名,也许是主题行?但我不懂阿拉伯语,所以我真的不知道。@JonathonReinhart它是填充代码文件名部分的部分。不,它是文件名,它是某种阿拉伯字符。@tripleee它实际上是一个文件名。我在原始电子邮件文件中看到了它,我应该导入什么?在标题中。您是否阅读了链接文档?示例中有来自email.header import decode_header的
,因此这可能是一个好的开始。它返回[('None',None)],带有字符,我写它返回一些东西,比如他的86\xd8\xb3\xd8\xae\xd9\x87\xd8\xa7\xd9\x8,这是一个无效的片段,但快速一看,它看起来像UTF-8。
IOError: [Errno 2] No such file or directory