我有一个列表变量,其中包含一个字符串。出于某种原因,它的打印这样的:使用转义字符打印Python字符串列表?
print('Value = ' + str(var))
输出:
Value = [\'123456789\']
看来,如果那些被str函数转义报价添加蜱,但我不知道怎么弄摆脱他们。
编辑:对不起,我很困惑。这里是更完整的背景故事:
我正在写一个聊天分析应用程序。这是我的消息类:
class Message:
def __init__(self, name, text, likers):
self.name = name
self.text = text
self.likers = likers
def __str__(self):
return 'Message: ' + self.name + ' said "' + self.text + '", liked by ' + str(self.likers)
这是信息存储在何处:
message = data['response']['messages'][i]
user_id = message['user_id']
name = message['name'] # Sender
text = re.sub(r'\W+', ' ', str(message['text']))
likers = message['favorited_by']
msg = Message(name, text, likers)
users[user_id].messages.append(msg)
以上,data
是一个JSON从聊天服务器返回。 i
是我的变量来循环消息(以20的块接收)。 users
是将用户标识映射到用户对象(我的其他类)的字典。由于每条消息都可以被多个用户喜欢,因此likers
是一组用户标识。
当我试图打印邮件时出现问题。测试代码:
print([str(x) for x in users[user_names['MyUser']].messages])
(user_names
是用户名映射到用户ID的字典)
该代码打印:
['Message: MyUser said "all of you", liked by [\'25843278\']', 'Message: MyUser said "why?", liked by [\'25843278\']']
是什么var值。 –
你能告诉我们什么'var'包含? – wencakisa
您的字符串实际上包含反斜杠的可能性很大。 – NPE