У меня есть функция:Invalid буквальным для Int
import urllib2
import json
id = u'asadasd58'
if not id.isdigit:
url = 'http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key='+SteamKey+'&vanityurl='+id
file = urllib2.urlopen(url).read()
file = json.loads(file, 'utf-8')
if file['response']['success'] == 1:
print file['response']['steamid']
else:
print 0
else:
print int(id)
Он должен работать так: если 64 бит SteamID (или просто номер) поставляется, это просто напечатано. Если это не просто число, мы пытаемся получить, если это URL-адрес тщеславия, и разрешить реальный 64-битный идентификатор, если мы не сможем решить (файл ['response'] ['success'] == 42), тогда мы возвращаемся 0. Но когда вы указываете id выше, он пытается включить его, даже если это не цифра. Зачем?
Traceback (most recent call last): File "test.py", line 13, in <module> print int(id) ValueError: invalid literal for int() with base 10: 'asadasd58'
Старайтесь не использовать 'id' в качестве имени переменной, это метод питона, который, если вы перезаписать его, может если вы попытаетесь использовать его, добавьте некоторые странные ошибки дальше по строке. – Ffisegydd