私はそれに文字列を持つリスト変数を持っています。何らかの理由で、それは次のように印刷しています:エスケープ文字を使用したPython文字列リスト印刷ですか?
print('Value = ' + str(var))
出力:
Value = [\'123456789\']
をものはSTR機能によって追加エスケープ引用ティックであるかのように思えるが、私は取得する方法がわかりませんそれらを取り除く。
EDIT:混乱して申し訳ありません。より完全な裏話です:
私はチャットアナリティクスアプリを書いています。ここに私のメッセージクラスがあります:メッセージが保存される場所
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
は、ユーザーIDをユーザーオブジェクト(他のクラス)にマッピングする辞書です。各メッセージは複数のユーザーが好きなので、likers
はユーザーIDの配列です。
メッセージを印刷しようとしているときに問題が発生します。テストコード:
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