Doppelpunkt erwartet Fehler
Ich habe ein einfaches problem.
class MyObj:
...
def get_file_name(self):
return "myfile.txt"
some_obj = MyObj()
# Error: Colon expected
with open some_obj.get_file_name() as f:
print("dealing with file ...")
# do something on f
MyObj
Klasse hat eine Methode namens get_file_name(self)
gibt eine Zeichenfolge von Datei-Namen.
In den code der die Datei öffnen, ich bekam compiler-Fehler Doppelpunkt erwartet. Ich sehe nicht, wo/warum Doppelpunkt benötigt. Bitte helfen Sie mir warum habe ich diesen Fehler?
- Könntest du den code von
class MyObj
? - fehlerhafte syntax in Ihrem code, versuchen Sie, hinzufügen von Klammern beim öffnen einer Datei:
- Ich habe nicht den Fehler. Aber Zeile 9 sollte diese
with open(some_obj.get_file_name()) as f:
. Sie wo die fehlenden Klammern in deropen()
Funktion. - Der traceback ist eine der am meisten nützliche debugging-Werkzeuge. Wenn Sie posten würde, würde ich eher in der Lage sein, um Ihnen zu helfen.
- Dann, es wäre ein Fehler:
builtin-function-or-method has no attribute __getitem__
- siehe unten meine Antwort
- Diese sind aufgerufen
parentheses
.[]
sind Klammern. - meta.stackoverflow.com/a/252504/3714940
- Wow, ich bin erstaunt. Ich hab mich schon gewundert, mein ganzes Leben, warum Menschen verwendet werden
square brackets
,curly braces
,round brackets
usw. Für mich sind Siebrackets
,braces
, undparentheses
. Wenn Sie beziehen sich auf()
wie Klammern, nur es klingt nicht richtig für mich. Es tut mir Leid zu haben, beunruhigt Sie. (Ich denke, dass jeder Zweifel über die Terminologie gilt.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Zeile:
werden sollte:
Dass
open()
ist eine Funktion!bad syntax in Ihrem code, versuchen Sie, hinzufügen von Klammern beim öffnen einer Datei:
()
sind in der Regel als Klammern. Klammern wäre[]
.