2024-10-08 21:25:04 发布
网友
看看这个代码:
a = {'name': u'احسان', 'family': u'شیرزادی'} print a
如你所见,我用UTF-8字符填充了“name”和“family”。但当我打印一张照片时,结果是:
{'name': u'\u0627\u062d\u0633\u0627\u0646', 'family': u'\u0634\u06cc\u0631\u0632\u0627\u062f\u06cc'}
如何强制打印存储在变量中的数据?你知道吗
如果将dict转换为str(就像print在内部所做的那样),它会在键和值上使用repr,以便打印unicode码点而不是实际字符。您可以通过单独打印值来解决此问题,例如
dict
str
print
repr
for key, value in a.iteritems(): print(u"{}: {}".format(key, value))
给予
name: احسان family: شیرزادی
或者-如果希望输出的格式与print a相同-使用join:
print a
join
print u"{" + ", ".join(u"{}: {}".format(key, value) for key, value in a.iteritems()) + "}"
{name: احسان, family: شیرزادی}
请注意,这会删除字符串周围的引号(只要只用于打印,就可以)。你知道吗
# -*- coding: utf-8 -*- import sys a = {'name': u'احسان', 'family': u'شیرزادی'} for key in a: val = a[key].strip().encode('utf-8') print key, val
输出
name احسان family شیرزادی
如果将
dict
转换为str
(就像print
在内部所做的那样),它会在键和值上使用repr
,以便打印unicode码点而不是实际字符。您可以通过单独打印值来解决此问题,例如给予
或者-如果希望输出的格式与
print a
相同-使用join
:给予
请注意,这会删除字符串周围的引号(只要只用于打印,就可以)。你知道吗
输出
相关问题 更多 >
编程相关推荐