Python-Terminal funktioniert nicht für for-Schleifen [geschlossen]


9

Ich habe diesen Code im Python-Terminal ausgeführt:

>>> for news in news_list:
...     print news("li", {"class", "first"})[0].a["href"]
...     
...     

Ich möchte diese for-Schleife im Terminal schließen können, habe aber keine Ahnung, wie. Ich habe Enterzweimal versucht zu drücken, aber es funktioniert nicht.


1
Ihnen fehlt eine schließende Klammer. Können Sie in der print-Anweisung erklären, was Sie versuchen?
Hashken

1
Entschuldigung, die Zahnspange hätte da sein sollen. Ich durchlaufe ein Array, das HTML-Daten enthält. Es funktioniert, ich weiß nur nicht, wie ich die Schleife im Terminal schließen soll.
Jason328

1
Anscheinend verwenden Sie einige verschachtelte Datenstrukturen. Ich kann nicht sagen, was das Problem ist, ohne den gesamten Code zu betrachten. Bitte fügen Sie den gesamten Code bei.
Hashken

4
zweimal eingeben funktioniert bei mir. Stellen Sie sicher, dass die 2. Eingabe nicht markiert ist
Karthik T

1
Ich sehe, das ist eine Konsole. Können Sie print newsund print news_listdavor und geben Sie uns die Ausgabe? Wir werden uns ein Bild von den dortigen Datenstrukturen machen.
SiddharthaRT

Antworten:


14

Es ist egal, an welchen Daten er arbeitet. Unabhängig davon, ob Sie nur print "spam"einen komplizierten Ausdruck verwenden oder nicht, sollte die for-Schleife nach zwei Eingaben geschlossen werden. Andernfalls wird eine Python-Ausnahme entweder mit fehlerhaften Daten oder einem Syntaxfehler ausgelöst.

Das Problem ist, dass Sie die leeren Zeilen einrücken, sodass der Interpreter denkt, dass Sie ihm noch Code geben werden.

Sehen Sie den Unterschied im folgenden Codeausschnitt (wählen Sie den Text aus, um zu sehen, warum):

>>> for x in range(4):
...     print x
... 
0
1
2
3
>>> for x in range(4):
...     print x
...     
...     
...     
... 
0
1
2
3
>>> 

Nebenbei: Check out bpython. Es ist ein Befehlszeilen-Python-Interpreter mit Schlüsselwortvorschlägen, automatischer Einrückung, Speicherung des Verlaufs über Sitzungen hinweg, einer Option zum Speichern von Code in einer Datei usw. Die ersten beiden Funktionen machen es zu einer Killer-App. So oft habe ich im Standardinterpreter nur die Tabulatortaste gedrückt, um eine Tabulatortaste auf dem Bildschirm zu finden!
S Prasanth

@ SPrasanth, meinst du ipython?
Warvariuc

@warwaruk Nein, bpython apps.ubuntu.com/cat/applications/bpython Wird sich jedoch mit ipython befassen.
S Prasanth
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.