Python 拆下';u';来自API调用的输出中的后缀

Python 拆下';u';来自API调用的输出中的后缀,python,python-2.7,unicode,Python,Python 2.7,Unicode,我使用API调用获取输出,并将其附加到文本文件中。但是对于来自输出(json)的一个参数,它的后缀是“u”。我无法删除此文件 我试着用 tags=str(nameout.json()[“tags”]) 但它仍然将u追加到文本文件中 tags=“[u'tomcat',u'app',u'all',u'subt',u'biz',u'sub1t']” 我希望输出中没有“u”后缀。python新手,如有任何帮助,将不胜感激:) 谢谢 要将其转换为字符串,请执行以下操作: tags = str(eval

我使用API调用获取输出,并将其附加到文本文件中。但是对于来自输出(json)的一个参数,它的后缀是“u”。我无法删除此文件

我试着用

tags=str(nameout.json()[“tags”])
但它仍然将u追加到文本文件中

tags=“[u'tomcat',u'app',u'all',u'subt',u'biz',u'sub1t']”
我希望输出中没有“u”后缀。python新手,如有任何帮助,将不胜感激:) 谢谢

要将其转换为字符串,请执行以下操作:

tags = str(eval(tags))
更新

这可能是一种危险的方法,因为数据可能不受信任,并且可能包含一些恶意代码: 最好是迭代数据并加入字符串: join(tags)#考虑到tags是字符串列表

nameout.json()
是超级json响应,已经解析为python json对象

nameout.json()[“tags”]
将返回带有标记的列表对象。首先,您确实不想将其转换为
str

u
前缀仅表示这些是unicode。您不需要删除它们。正确打印列表元素时不会打印这些元素,例如:

tags = [u'tomcat', u'app', u'all', u'subt', u'biz', u'sub1t']
print(', '.join(tags))
for tag in tags:
    print(tag)
输出:

tomcat, app, all, subt, biz, sub1t
tomcat
app
all
subt
biz
sub1t

非常感谢。是的,它确实已经列出了一份清单。如果可能的话,你能告诉我这里发生了什么吗?当您使用这个连接标签时?这只是打印列表内容的两种不同方式(很多种方式中的两种)。对于
str.join()
的使用,请检查这是非常危险的,甚至可能不起作用。OP提到,他们正在从JSON API的另一端接收此数据,这意味着应将其视为不受信任的数据。如果API发回JSON结构
{“tags”:“import os;os.system('bad stuff')”}
那么坏东西就会发生。它也可能无法修复OP的问题,具体取决于python版本。OP希望删除
u
s,但在Python2.7中对unicode对象列表调用
str
会将它们保留在那里:。非常正确。如果数据来自第三方,则不应采用这种方式。最好的方法是:
,”。join(tags)
它不是后缀,而是前缀。
tomcat, app, all, subt, biz, sub1t
tomcat
app
all
subt
biz
sub1t