Bu koda sahibim ve sonunda bir IP adresine re.findall()
yanıtını dönüştürmek istiyorum. Ama her zaman bir hata alırım (aşağıya bakınız).ip adres dizisini re.findall() dizgisine nasıl dönüştürebiliriz dize için yanıt
url = 'http://checkip.dyndns.org'
request = urllib.urlopen(url).read()
ip = str(re.findall(r'[0-9]+(?:\.[0-9]+){3}', request))
print ip
Hep
TypeError: not all arguments converted during string formatting
birisi dönüştürmek için en iyi yolu nedir bana söyleyebilir bu hatayı alabilirsiniz? Teşekkürler.
bir yapılandırılmış sonuç döndürür doğru API ziyade keyfi metin kullanın ve bu konuda endişelenmeyin? Örneğin. https://api.ipify.org/?format=json –
'print ip' iyi çalışıyor ('l' dize dönüştürdüğünüzden [abcd ']' yazdırıyor, ancak beklenen çıktı) [Minimal, Tam ve Doğrulanabilir örnek] sağlayın (http://stackoverflow.com/help/mcve)? –
'' ip = re.findall (r '[0-9] + (?: \. [0-9] +) {3}', istek) [0] '' çalışır? . '' re.findall() '' iki veya daha fazla eleman varsa dizgenin bir listesini döndürürse, o zaman '' string (blah blah) '' başarısız olur, – minhhn2910