Python GAE webapp2 输出格式
Python GAE webapp2 output formatting
我现在正在研究 NDB
中的 retrieve
个值,这是一团糟,但它似乎在工作:
class retrieve(webapp2.RequestHandler):
def get(self):
id=(self.request.get('id'))
newvalues=Book.get_by_id(id)
newvalues=Book.to_dict(newvalues)
newvalues=str(newvalues)
self.response.write(newvalues)
这让我明白了:
{'content': u"(u'011', u'11', u'11', u'11', u'11')"}
我想我可以将该字典转换为字符串并替换所有不需要的字符,如:
newvalues = newvalues.replace ("{'content':","")
有没有更简单/更有效的方法?
期望的输出:
01111111111
即。只有值,中间没有空格或任何内容。
编辑 1
@丹尼尔,
实施后values= ''.join(newvalues.content)
我现在有 content
个值:
(u'011', u'11', u'11', u'11', u'11')
现在我需要再次 join
来合并所有这些吗?另外,我认为 u
unicode 符号会自动消失...
编辑 2
我不知道为什么会这样。
我通过 get_by_id
得到了 'id' (删除了 to_dict
部分),也尝试过:
values= ''.join(newvalues.content)
values=''.join(map(str, values))
self.response.write (values)
仍然只得到:
(u'011', u'11', u'11', u'11', u'11')
编辑Book
模型:
class Book(ndb.Model):
content = ndb.StringProperty()
似乎没有任何理由在这里使用 to_dict
。直接访问content
字段即可:
values = ''.join(newvalues.content)
编辑 问题首先出现在您编写内容的方式上。出于某种原因,您正在存储字符串元组的字符串表示形式,而不是使用重复字段分别存储每个字符串,或者首先使用 JSON 存储字符串的正确序列化。
使用re.sub
>>> d = {'content': u"(u'011', u'11', u'11', u'11', u'11')"}
>>> re.sub(r'u[\'"]|[\'",()\s]', '', d['content'])
u'01111111111'
>>> re.sub(r'u[\'"]|\W', '', d['content'])
u'01111111111'
我现在正在研究 NDB
中的 retrieve
个值,这是一团糟,但它似乎在工作:
class retrieve(webapp2.RequestHandler):
def get(self):
id=(self.request.get('id'))
newvalues=Book.get_by_id(id)
newvalues=Book.to_dict(newvalues)
newvalues=str(newvalues)
self.response.write(newvalues)
这让我明白了:
{'content': u"(u'011', u'11', u'11', u'11', u'11')"}
我想我可以将该字典转换为字符串并替换所有不需要的字符,如:
newvalues = newvalues.replace ("{'content':","")
有没有更简单/更有效的方法?
期望的输出:
01111111111
即。只有值,中间没有空格或任何内容。
编辑 1
@丹尼尔,
实施后values= ''.join(newvalues.content)
我现在有 content
个值:
(u'011', u'11', u'11', u'11', u'11')
现在我需要再次 join
来合并所有这些吗?另外,我认为 u
unicode 符号会自动消失...
编辑 2 我不知道为什么会这样。
我通过 get_by_id
得到了 'id' (删除了 to_dict
部分),也尝试过:
values= ''.join(newvalues.content)
values=''.join(map(str, values))
self.response.write (values)
仍然只得到:
(u'011', u'11', u'11', u'11', u'11')
编辑Book
模型:
class Book(ndb.Model):
content = ndb.StringProperty()
似乎没有任何理由在这里使用 to_dict
。直接访问content
字段即可:
values = ''.join(newvalues.content)
编辑 问题首先出现在您编写内容的方式上。出于某种原因,您正在存储字符串元组的字符串表示形式,而不是使用重复字段分别存储每个字符串,或者首先使用 JSON 存储字符串的正确序列化。
使用re.sub
>>> d = {'content': u"(u'011', u'11', u'11', u'11', u'11')"}
>>> re.sub(r'u[\'"]|[\'",()\s]', '', d['content'])
u'01111111111'
>>> re.sub(r'u[\'"]|\W', '', d['content'])
u'01111111111'