wie kann ich in python ganze zeilen einlesen?
in c geht das ja über fgets(usw
ich kann dabei auch noch ne kleine funktoin schreiben die die new line entfernt da bei standard fgets dem string noch ein new line angehängt wird.
python ist ja überhaupt nicht einfacher als C bisher, C finde ich viel besser, alles logischer obwohl man manchmal mehr coden muss, es ist aber an und für sich viel lgoischer und besser aufgebaut
3 Antworten
with open() as f:
f.read(<num>) #chars
f.readline() #line
f.readlines() #all lines
readline() und readlines() sind als Methoden natürlich nur bei Textdateien sinnbehaftet.
Alternativ ist f auch iterable, d.h. ein Konstrukt wie:
with open() as f:
for line in f:
ist auch möglich.
Python bietet der Einfachheit halber input() an, Du darfst aber natürlich auch ein
import sys
sys.stdin.readline()
machen, sys.stdin verhält sich dabei wie jedes andere Python file object.
Es gibt für entsprechende Szenarien noch fileinput (Modul), das ein Helper/Wrapper ist.
Mit
with open("Datei.txt") as f:
lines = f.readlines()
Erhälst du eine Liste, die jede Zeile von der Datei als String enthält. Jedoch endet jede Zeile mit newline, das kannst du aber leicht beheben (damit werden sogar alle Whitepages die zu Beginn und am Ende des Strings sind, entfernt):
with open("Datei.txt") as f:
lines = [l.strip() for l in f.readlines()]
Hallo,
mein Wissen in Python ist auch sehr begrenzt aber wenn ich mich richtig erinnere, ist das Einlesen von Zeilen mit "input()" und "readlines()" möglich.
Hier ein Beispiel für "input()":
line = input()
print(line)
Und hier ein Bsp. für "readlines()":
with open("Datei.txt") as f:
lines = f.readlines()
print(lines)
Wie du sicherlich erkennst ist "readlines()" dafür gedacht, etwas aus einer Datei zu verarbeiten.
Ich hoffe ich konnte dir weiterhelfen. :)
Damit kann ich also auch von der Konsole (nicht als Kommandozeilenparameter, sondern interaktiv also nach Start des Programms) lesen bis ein String z.b „Stop“ kommt?