2016-10-14 7 views
0

Lädt eine Textseite, c.txt, von einem Webserver herunter. c.txt enthält nur den Buchstaben "c". Kann Datei fein herunterladen und drucken Sie den Inhalt, das Zeichen "c". Der Inhalt kann jedoch nicht im folgenden Code verwendet werden:Verwenden von Urllib2 zum Herunterladen von Text zum Auswerten einer Variablen

import urllib2 

req = urllib2.Request('http://localhost/c.txt') 
response = urllib2.urlopen(req) 
result = str(response.read()) 
print(result) # prints 'c' just fine 
furl = "c" 
furl = str(furl) 
if result == furl: # Does not work 
    print('Correct') 

Es sind keine Fehler aufgetreten. Nur funktioniert nicht

+1

Sind Sie sicher, dass sie die gleiche Länge haben? Ihre Antwort enthält möglicherweise Leerzeichen, die Sie beim Drucken von "Ergebnis" nicht sehen. – Soviut

+1

Verwenden Sie 'print ('>% s <'% result)' um zu sehen, ob Sie keine zusätzlichen Leerzeichen haben oder "\ n" wie @Soviut vorschlagen. Und dann benutze 'result = result.strip()', um sie zu entfernen. – furas

+0

Ich habe beschlossen, daraus eine vollständige Antwort zu machen, da dies die einzig mögliche Erklärung für das Problem zu sein scheint. – Soviut

Antwort

1

Es ist höchstwahrscheinlich ein zusätzliches Raumzeichen in den result. Sie können nach ihm suchen, indem Sie Zeichen auf beiden Seiten drucken.

print '>%s<' % result 

Wenn das Ergebnis sieht aus wie >c < Sie einen Leerraum haben (einschließlich Zeilenumbrüche).

Um den vorderen und hinteren Leerraum aus einer Zeichenfolge zu entfernen, können Sie die strip() Methode auf der Saite verwenden können.

result = str(response.read()).strip() 

Oder Sie können es genau zum Zeitpunkt des Vergleichs tun.

if result.strip() == furl: 
    print 'correct' 
+0

wenn result.strip() == furl: Works! Vielen Dank ! – hahobson

+0

@hahobson Großartig! Was war das Ergebnis, das du von 'print '>% s <'% result 'erhalten hast? – Soviut

+0

@ Soviut Es wird auf dem Bildschirm gedruckt, aber die if-Anweisung wird nicht ausgewertet. Das Textdokument muss einige unsichtbare Zeichen hinzufügen – hahobson

Verwandte Themen