1
Я пытаюсь удалить \ г и \ п от городского словаря JSon апи, но каждый раз, когда я использую re.sub я получаю это:Удаление г и п из списка
expected string or buffer
Я не уверен, почему, хотя, но вот код:
elif used_prefix and cmd == "udi" and len(args) > 0 and self.getAccess(user) >= 1:
try:
f = urllib.request.urlopen("http://api.urbandictionary.com/v0/define?term=%s" % args.lower().replace(' ', '+'))
data = json.loads(f.readall().decode("utf-8"))
data = re.sub(r'\s+', ' ', data).replace("\\","")
if (len(data['list']) > 0):
definition = data['list'][0][u'definition']
example = data['list'][0][u'example']
permalink = data['list'][0][u'permalink']
room.message("Urban Dictionary search for %s: %s Example: %s Link: %s" % (args.title(), definition, example, permalink), True)
else: room.message("Word not found.")
except:
room.message((str(sys.exc_info()[1])))
print(traceback.format_exc())
Это отслеживающий:
Traceback (most recent call last): File "C:\Users\dell\Desktop\b0t\TutorialBot.py", line 2186, in onMessage data = re.sub(r'\s+', ' ', data).replace("\\","") File "C:\lib\re.py", line 170, in sub return _compile(pattern, flags).sub(repl, string, count) TypeError: expected string or buffer
Пост полного обратного прослеживания, пожалуйста? – inspectorG4dget
Вы имели в виду '/ r' и'/n', которые представляют собой 2-символьные строки, или '\ r' и' \ n', которые являются escape-последовательностями для возврата каретки и новой строки соответственно? –
Возможный дубликат [Регулярное выражение для замены «экранированных» символов на их оригиналы] (http://stackoverflow.com/questions/16866339/regular-expression-to-replace-escaped-characters-with-their-originals) – jonrsharpe