Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何用字符串格式表示ListProperty(str)属性?_Python_Google App Engine_String Formatting - Fatal编程技术网

Python 如何用字符串格式表示ListProperty(str)属性?

Python 如何用字符串格式表示ListProperty(str)属性?,python,google-app-engine,string-formatting,Python,Google App Engine,String Formatting,我有一个列表属性(str): 有时我需要编辑已写入数据存储的标记,因此我创建了一个编辑页面: class EditItem(webapp.RequestHandler): def get(self): self.response.out.write("""<div> <form name="submit_form" action="/edititemhandler" method="post"> url: <

我有一个
列表属性(str)

有时我需要编辑已写入数据存储的标记,因此我创建了一个编辑页面:

class EditItem(webapp.RequestHandler):
    def get(self):
        self.response.out.write("""<div>
        <form name="submit_form" action="/edititemhandler" method="post">

        url: <input type="text" name="url" size=50><br />
        <input type="submit" value="submit">
        </form></div>""")
但这给了

BadValueError('Property %s must be a list' % self.name)
BadValueError: Property tags must be a list
但是
logging.info
显示
self.request.get(“标记”)
看起来像一个列表:

TAGS [u'speaking', u'glam']
如果我这样做

    item.tags = [new_tags]
新标签
转换为我得到的列表

"[u'presidential', u'glam', u'family']" 
它看起来不像列表,但看起来像字符串

那么,如何使用%s格式化列表元素,使其保持为列表?谢谢

更新

我想我需要在更新之前将标记列表转换为字符串,然后将其转换为列表:

>>> tag_list = [u'formal', u'flag', u'photo']
>>> tag_list_as_string = str(" ".join(tag_list))
>>> tag_list_as_string
'formal flag photo'
>>> #edit tags
>>> tag_list_as_string = 'formal flag photo newtag'
>>> new_tag_list = tag_list_as_string.split(" ")
>>> new_tag_list
['formal', 'flag', 'photo', 'newtag']
>>>
你知道我怎样才能把
标签列表作为字符串
加逗号,就像这样

'formal, flag, photo'
而不是像这样

'formal flag photo' 

谢谢

谢谢。但是现在把它转换回一个列表,我在列表中的项目之间得到了一个额外的逗号;所以我会让它保持原样。所有标记都是一个单词。@Zeynel您还需要更新拆分函数以在逗号上拆分。不要使用
ListProperty(str)
-使用
StringListProperty()
。目前,您只能存储字节字符串,这排除了除前127个码点(“ASCII”)之外的所有unicode。同样地,不要使用Stand()函数来调整素材。为了将来的参考,如果你的问题编辑基本上改变了所需答案的类型,考虑一个新的问题而不是编辑当前的问题,你不能为前一个版本和你的问题的最终版本选择最佳答案。尼克·约翰逊:谢谢。已更改为StringListProperty()。@Will:True,我的更新中的问题可能是另一个问题。谢谢
>>> tag_list = [u'formal', u'flag', u'photo']
>>> tag_list_as_string = str(" ".join(tag_list))
>>> tag_list_as_string
'formal flag photo'
>>> #edit tags
>>> tag_list_as_string = 'formal flag photo newtag'
>>> new_tag_list = tag_list_as_string.split(" ")
>>> new_tag_list
['formal', 'flag', 'photo', 'newtag']
>>>
'formal, flag, photo'
'formal flag photo' 
tag_list = [u'formal', u'flag', u'photo']
print ", ".join(tag_list)
>> formal, flag, photo