2016-07-16 6 views
-1

Also habe ich diese Funktion erstellt:Wert eingegeben in Abhängigkeit vom Standardwert geändert

def bs_obj(url, lan="html.parser"): 
    try: 
     html = urlopen(url) 
     bsObj = BeautifulSoup(html, lan) 
     print(lan) 
     return bsObj 
    except HTTPError as e: 
     print(e) 

Nun, wenn ich die Funktion mit dem nächsten Code aufrufen: object = bs_obj(html, "lxml"), die Konsole druckt html.parser. Dasselbe gilt, wenn der Code object = bs_obj(html, lan="lxml") lautet. Was ist los?

EDIT: (Gelöst) Ich bin beschämt. Ich rief bs_obj(html) einige Zeilen vor der Codezeile, die ich als Beispiel verwendet.

+6

* Was hier los? * Keinen Titel ist, die anderen Benutzer ein ähnliches Problem helfen zu müssen. Bitte editieren Sie –

+4

Das über was der Wert von 'lan' ist' print (lan) '... Vielleicht wollten Sie' bsObj' drucken oder 'lan' überhaupt nicht drucken? –

+0

Entschuldigung, den Titel sofort ändern! –

Antwort

1

Ich glaube, Sie laufen die falsche Datei. Als Referenz.

def bs_obj(lan="html.parser"): 
    print(lan) 

if __name__ == "__main__": 
    bs_obj() 
    bs_obj("lxml") 
    bs_obj(lan='html5.parser') 

Korrekt gibt

html.parser 
lxml 
html5.parser 
Verwandte Themen