2004年09月24日 星期五 22:37
您好: 我是python的初学者。 现在有一个问题不明白。 我通过python获得老师发给我的一封email。email中有一个gif文件。要求用mime parse 解码。对此我非常困惑,查了相关的参考书都是写如何发送这个文件的,而对如何解码文件没有解释。 我也知道这个问题很幼稚,但是我真的不懂而且也没有找到相关资料。关于这个问题的具体文件我放在附件中。麻烦老师了! -- Nancy Email:zjpsummer at yahoo.com.cn macegirl at gmail.com Msn: zjpsummer at hotmail.com QQ: 20580996 -------------- next part -------------- >>> import socket >>> HOST = "python.cti.dtu.dk" >>> PORT = 34531 >>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >>> s.connect((HOST, PORT)) >>> s.send('s041440') 7 >>> data = s.recv(50000) >>> print data Content-Type: multipart/mixed; boundary="192.38.86.143.1.776.1095767182.304.1" From: Jakob Larsen <s992523 at student.dtu.dk> To: Students in course 34531 Subject: Your assignment in course 34531 Date: 22-09-2004 12:00 This is a MIME-encoded message, with attachments. If you are seeing this message your mail program probably cannot show you the attachments. Jakob Larsen --192.38.86.143.1.776.1095767182.304.1 Content-Type: text/plain Hello students in course 34531! This is the MIME-encoded message that you must parse in your Python program as part of your assignment in this course. The MIME message contains an encoded GIF image that you must decode as the image contains the instructions for handing in your Python program once it is done. Thank you Jakob Larsen --192.38.86.143.1.776.1095767182.304.1 Content-Type: image/gif; Name="assignment.gif" Content-Transfer-Encoding: base64 R0lGODlhKAEjAfcAAAAAAAAAQgAAxgBCAADnAAD/ACEAQiEAhCEhQiFCACGlACHGACHnACHnQkIh AEKEAEKEQkKlAEKlQkLGAELnAELnQmMhAGNjAGNjQmOEAGOEQmOlAGPGAGPGQmPnAGPnQoRCAIRj AISEAISEQoSlAISlQoSlhITGAITGQqUhAKUhQqVCAKWEAKWEQqWlAKWlQsYhAMYhQsZCAMbexuch AOdCAOfnQufnhP8AAP//9/////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////ywAAAAAKAEjAQAI/gB1CBxI sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN mzhz6iSZI4eOnj4zAhhqcqhRogqROlSaFCSAhE8XRt0YdepDqzsFDs1hVCjUi1iramWIlWxLpjqq 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 kC7n3dEU3oJe3iwVEAAAOw== --192.38.86.143.1.776.1095767182.304.1-- >>>
2004年09月24日 星期五 22:47
我也没做过,但可以看一看python模块中关于email的相关内容。 On Fri, 24 Sep 2004 07:37:20 -0700, macegirl macegirl <macegirl at gmail.com> wrote: > 您好: > 我是python的初学者。 > 现在有一个问题不明白。 > 我通过python获得老师发给我的一封email。email中有一个gif文件。要求用mime parse > 解码。对此我非常困惑,查了相关的参考书都是写如何发送这个文件的,而对如何解码文件没有解释。 > 我也知道这个问题很幼稚,但是我真的不懂而且也没有找到相关资料。关于这个问题的具体文件我放在附件中。麻烦老师了! > > > -- > Nancy > Email:zjpsummer at yahoo.com.cn > macegirl at gmail.com > Msn: zjpsummer at hotmail.com > QQ: 20580996 > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > > > -- I like python!
2004年09月24日 星期五 23:45
, 您好! ************下面是转发邮件************ 原邮件发件人名字: GreyRoar 原邮件发件人地址:GreyRoar at tom.com >macegirl macegirl,您好! > > mimetools.decode(filein,fileout,type) > >======= 2004-09-24 07:37:00 您在来信中写道:======= > >>您好: >> 我是python的初学者。 >> 现在有一个问题不明白。 >> 我通过python获得老师发给我的一封email。email中有一个gif文件。要求用mime parse >>解码。对此我非常困惑,查了相关的参考书都是写如何发送这个文件的,而对如何解码文件没有解释。 >> 我也知道这个问题很幼稚,但是我真的不懂而且也没有找到相关资料。关于这个问题的具体文件我放在附件中。麻烦老师了! >> >> >>-- >>Nancy >>Email:zjpsummer at yahoo.com.cn >> macegirl at gmail.com >>Msn: zjpsummer at hotmail.com >>QQ: 20580996 >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese > >= = = = = = = = = = = = = = = = = = = = > > > 致 >礼! > > > GreyRoar > GreyRoar at tom.com > 2004-09-24 = = = = = = = = = = = = = = = = = = = = 致 礼! GreyRoar GreyRoar at tom.com 2004-09-24
2004年09月25日 星期六 08:10
xl g,您好! 在文件第一行或第二行写上 # -*- encoding=p936 -*- 就可以直接用u'你好Python'了. ======== 2004-09-24 17:19:04 您在来信中写道: ======== 多谢,这样确实能解决问题,还有没有简便一些的办法,比如只需要在脚本开头声明一个预处理语句或者其它什么东西,然后就可以一劳永逸的显示中文编码,而不用每次都unicode()。 limodou <limodou at gmail.com> wrote: u'你好Python!'改为unicode('你好Python', 'cp936') 并且使用wxPython 的unicode版本。 On Fri, 24 Sep 2004 10:55:31 +0800 (CST), xl g wrote: > 昨天刚刚接触wxPython,问个简单的问题,如何在界面中显示中文?如下面的代码: > class MyApp(wxApp): > def OnInit(self): > frame = wxFrame(NULL, -1, u'你好Python!') > frame.Show(true) > self.SetTopWindow(frame) > return true > > 标题中显示的是乱码,不知该如何让它显示正确的中文?请指教! > > gxl 敬上 > > _________________________________________________________ > Do You Yahoo!? > 150万曲MP3疯狂搜,带您闯入音乐殿堂 > http://music.yisou.com/ > 美女明星应有尽有,搜遍美图、艳图和酷图 > http://image.yisou.com > 1G就是1000兆,雅虎电邮自助扩容! > http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/ > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python! _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese Do You Yahoo!? 150万曲MP3疯狂搜,带您闯入音乐殿堂 美女明星应有尽有,搜遍美图、艳图和酷图 1G就是1000兆,雅虎电邮自助扩容! = = = = = = = = = = = = = = = = = = = = = = 致 礼! 0.706 0.706 at 163.com 2004-09-25 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040925/c60a2702/attachment.htm
2004年09月25日 星期六 08:12
0.706,您好! 错了,是cp936 ======== 2004-09-25 08:10:53 您在来信中写道: ======== xl g,您好! 在文件第一行或第二行写上 # -*- encoding=p936 -*- 就可以直接用u'你好Python'了. ======== 2004-09-24 17:19:04 您在来信中写道: ======== 多谢,这样确实能解决问题,还有没有简便一些的办法,比如只需要在脚本开头声明一个预处理语句或者其它什么东西,然后就可以一劳永逸的显示中文编码,而不用每次都unicode()。 limodou <limodou at gmail.com> wrote: u'你好Python!'改为unicode('你好Python', 'cp936') 并且使用wxPython 的unicode版本。 On Fri, 24 Sep 2004 10:55:31 +0800 (CST), xl g wrote: > 昨天刚刚接触wxPython,问个简单的问题,如何在界面中显示中文?如下面的代码: > class MyApp(wxApp): > def OnInit(self): > frame = wxFrame(NULL, -1, u'你好Python!') > frame.Show(true) > self.SetTopWindow(frame) > return true > > 标题中显示的是乱码,不知该如何让它显示正确的中文?请指教! > > gxl 敬上 > > _________________________________________________________ > Do You Yahoo!? > 150万曲MP3疯狂搜,带您闯入音乐殿堂 > http://music.yisou.com/ > 美女明星应有尽有,搜遍美图、艳图和酷图 > http://image.yisou.com > 1G就是1000兆,雅虎电邮自助扩容! > http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/ > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python! _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese Do You Yahoo!? 150万曲MP3疯狂搜,带您闯入音乐殿堂 美女明星应有尽有,搜遍美图、艳图和酷图 1G就是1000兆,雅虎电邮自助扩容! = = = = = = = = = = = = = = = = = = = = = = 致 礼! 0.706 0.706 at 163.com 2004-09-25 = = = = = = = = = = = = = = = = = = = = = = 致 礼! 0.706 0.706 at 163.com 2004-09-25 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040925/3406af4d/attachment.html
Zeuux © 2025
京ICP备05028076号