是否可以将二进制文件与Python一起发布到usenet?

是否可以将二进制文件与Python一起发布到usenet?,python,nntp,Python,Nntp,我正在尝试使用python附带的nntplib向usenet发布一些帖子。但是,我不知道如何使用.post方法发布二进制文件 我可以发布纯文本文件,但不能发布二进制文件。有什么想法吗 --编辑-- 多亏了阿德里安在下面的评论,我才朝着我的目标迈出了一步 现在,我使用电子邮件库生成多部分消息,并将二进制文件附加到消息中。但是,我似乎不知道如何将该消息直接传递给nttplib post方法 我必须先写一个临时文件,然后将它读回nttplib方法。必须有一种方法在内存中完成这一切……有什么建议吗?您必

我正在尝试使用python附带的nntplib向usenet发布一些帖子。但是,我不知道如何使用.post方法发布二进制文件

我可以发布纯文本文件,但不能发布二进制文件。有什么想法吗

--编辑--

多亏了阿德里安在下面的评论,我才朝着我的目标迈出了一步

现在,我使用电子邮件库生成多部分消息,并将二进制文件附加到消息中。但是,我似乎不知道如何将该消息直接传递给nttplib post方法


我必须先写一个临时文件,然后将它读回nttplib方法。必须有一种方法在内存中完成这一切……有什么建议吗?

您必须对您的帖子进行MIME编码:NNTP新闻组中的二进制帖子就像带有附件的邮件

文件必须以ASCII编码,通常使用
base64
编码,然后将编码文件打包到多部分MIME消息中并发布

看看这个模块:它实现了您想要的一切

我鼓励您阅读定义NNTP协议的官方标准

关于问题的第二部分:

用于从字符串生成假文件对象(nntplib的
post()
方法接受打开的文件对象)。
email.Message
对象有一个
as_string()
方法以普通字符串形式检索邮件内容。

请在单独的问题中发布新问题。。。(仍然看一下对我答案的编辑)我认为这仍然是同一个原始问题的一部分,即如何将二进制文件发布到usenet。