ich bin grade dabei Python zu lernen, nun habe ich hier einen Code aber ich verstehe vieles davon nicht so wirklich, vllt könnt ihr mir ja helfen und mir das mal erklären

Code: Alles auswählen
from sys import argv
script, input_file = argv
def print_all(f):
print f.read()
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print "Now let's rewind, kind of like a tape."
rewind(current_file)
print "Let's print three lines:"
current_line = 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
Code: Alles auswählen
def print_all
Code: Alles auswählen
def rewind
Code: Alles auswählen
def print_a_line
Code: Alles auswählen
def print_a_line
so also soweit ich das jetzt verstanden habe ist das f nur eine Variable, aber woher weiß Python jetzt womit die Variable definiert wird? also ich glaube f ist die Variable für file in diesem Fall, aber woher weiß Python, dass f für file stehen soll? ich könnte ja auch anstatt f z.B. haus schreiben.
so dann ist unter der ersten und letzten Funktion der Befehl print, also wird in PowerShell etwas angezeigt, aber was jeweils?
f.read heißt doch nur, dass die (in diesem Fall die Textdatei) gelesen wird oder?
f.seek(0) sucht doch den Byte 0 raus also den Anfang von der Datei.
und f.readline heißt doch, dass man nur eine bestimmte Zeile lesen möchte, aber was bedeutet line_count denn noch dabei ? und woher weiß Python welche Zeile?
dannach setzten wir bei
Code: Alles auswählen
current_file = open(input_file)
dann kommt
Code: Alles auswählen
print "First let's print the whole file:\n"
dann
Code: Alles auswählen
print_all(current_file)
print_all(f) mit dem current_file "verbunden" wird, also, dass ab jetzt Python weiß was f genau ist? <- das versteh ich so garnicht ^^
dann wird wieder ein String angezeigt und wieder das selbe spiel wie vorher nur mit der zweiten Variable <- versteh ich wieder nicht ^^
wieder ein String und dann wird current_line mit Zeile 1 definiert oder?
dann wird die Zeile 1 angezeigt aber wie und wieso?
dann wird zu dem current_line eine Zeile dazu gerechnet (1 + 1 = Zeile 2), also wird nun Zeile 2 angezeigt und danach Zeile 3, aber warum und wie?
Also ich verstehe das mit den Funktionen da oben so garnicht ^^
hoffe ihr könnt mir helfen

Danke
LG