x.split()的下面结果是我想要的,因为结果中没有unicode。
server:~ brian$ python
Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 'M Y'
>>> x.split()
['M', 'Y']
但是在我的应用程序中使用db.get
如下所示,choices
的结果是[u'M', u'Y']
而是'choices'
= 'M Y'
。
def post(self, blog_id):
blog = db.get(db.Key.from_path('Blogs', blog_id))
n = Reminders(parent=blog, purpose=self.request.get('purpose'),
choices=self.request.get('choices').split())
n.put()
如何获得理想的结果?
这个问题与另一个问题不同,因为好像google-app-engine或python2.7强制围绕分裂序列的每个元素进行u''。我也试过使用.encode('ascii','ignore')
,但无济于事。
答案 0 :(得分:0)
尝试使用encode功能。
示例:
queryset.filter(message="this is my message").first() # this will now give you a single element
在您的代码中,在拆分之前添加In [1]: x= u'M Y'
In [2]: x
Out[2]: u'M Y'
In [3]: x.split()
Out[3]: [u'M', u'Y']
In [4]: x.encode('utf8').split()
Out[4]: ['M', 'Y']
函数:
encode
答案 1 :(得分:0)
在我的情况下答案很简单,只需在javascript而不是在python中执行split()。这样u'...'
永远不会生成。