删除来自API调用的输出中的“ u”后缀

时间:2019-08-29 10:06:47

标签: 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新手,任何帮助将不胜感激:) 谢谢!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

tags = eval(tags) # Will give you a list

为了将其转换为字符串:

tags = str(eval(tags))
  

更新

这可能是危险的方法,因为数据可能不受信任并且可能包含一些恶意代码: 最好的办法是迭代数据并加入一个字符串: ', '.join(tags) # Considering tags is a list of string