在python 3中打印包含unicode表情符号的嵌套iterable

在python 3中打印包含unicode表情符号的嵌套iterable,python,facebook,unicode,Python,Facebook,Unicode,我目前正在学习使用Facebook图形api从群组中检索帖子列表。我已经知道如何在中获取有效的请求,并且我知道响应是正确的,但不幸的是,很难检查,因为其中一篇文章包含表情符号,而表情符号只能在unicode中找到,我不知道如何处理它们 以下是更详细的设置: response = graph.get_object(id=GROUP_ID, fields="feed") 它应该返回一个包含所有元素的字典,结果是一个多层iterable。字典包含一个字典,字典包含一个属于字典的帖子列表,其中一篇帖子

我目前正在学习使用
Facebook图形api
从群组中检索帖子列表。我已经知道如何在中获取有效的请求,并且我知道响应是正确的,但不幸的是,很难检查,因为其中一篇文章包含表情符号,而表情符号只能在unicode中找到,我不知道如何处理它们

以下是更详细的设置:

response = graph.get_object(id=GROUP_ID, fields="feed")
它应该返回一个包含所有元素的字典,结果是一个多层iterable。字典包含一个字典,字典包含一个属于字典的帖子列表,其中一篇帖子有一个包含表情符号的消息体

试图打印字典以供检查时,会出现错误

UnicodeEncodeError:“charmap”编解码器无法对位置4323中的字符“\U0001f605”进行编码:字符映射到

我读过很多帖子,上面说我可以修改字典;将其设置为字符串,然后编码,然后解码,然后像这样取消勾选:

64_group = pickle.dumps(group).encode('base64', 'strict')
group = pickle.loads(utf8_group.decode('base64', 'strict'))
但这反而导致了一个新的错误(我尝试对utf-8和base64进行编码,结果相同):

文件“main.py”,第19行,在
utf8_group=pickle.dumps(group.encode('base64','strict'))
AttributeError:“字节”对象没有属性“encode”
当这些请求结果可能是任何级别的嵌套,并且unicode字符可能是任何级别、所有级别或任何级别时,我如何安全地检查和稍后处理这些请求结果?有没有一种方法可以在我的字典返回后“清理”它,这样我就可以像正常情况一样处理它的级别


如果有帮助的话,我的最终目标是将它们拉到sqlite或mysql数据库中,并通过php(我不知道javascript)为它们提供服务。

@stovfl我认为响应已经被解码,因为OP正在经历一个UnicodeEncodeError,即相反的转换(这可能发生在后续步骤中,当打印响应时)@Austin看起来您的环境(命令行、[power]shell、IDE…)无法打印表情符号(您在Windows上工作,对吗?)。尝试重新配置为UTF-8或UTF-16之类的编码,否则切换到其他工具来运行Python脚本。或者写入文件(使用
encoding='utf8'
打开),而不是在所有帐户上使用
print()
@lenz yes。写入一个文件似乎工作得很好——实际上我将其输出到html,然后在浏览器中查看。我猜windows命令行不支持它,当我需要认真选择一个开发环境时,我会打开一堆蠕虫。如何将您的评论标记为答案?
64_group=pickle.dumps(group.encode('base64','strict')
这是行不通的,对吧?@cory-Yeah,原来我根本不需要pickle。或者任何类型的转换,现在我正在将其写入文件。它的可读性很强。
File "main.py", line 19, in <module>  
     utf8_group = pickle.dumps(group).encode('base64', 'strict')  
AttributeError: 'bytes' object has no attribute 'encode'