Hallo zusammen,
wahrscheinlich ist es total easy was ich wissen möchten;-) bin aber noch anfänger was das an geht.
ich möchte eine Datei auslesen aber nur ab einem = .
das auslesen der ganzem datei mach ich mit open(file,"r")
hab ihr da eine Lösung für mich!
mfg silvio
Datei ab bestimmten Zeichen auslesen
Mit open liest du eine Datei nicht, sondern öffnest sie nur. Prinzipiell musst du die Datei mit read (siehe Methods of File Objects) von Anfang an lesen um die Stelle zu finden an der das gesuchte Zeichen zum ersten Mal auftritt.Silvio1985 hat geschrieben:ich möchte eine Datei auslesen aber nur ab einem = .
das auslesen der ganzem datei mach ich mit open(file,"r")
Danach liest du dann den Rest der Datei und tust das damit was du dafür vorgesehen hast.
Code: Alles auswählen
text = 'ham=spam'
head, sep, tail = text.partition('=')
print(tail) # -> spam
Code: Alles auswählen
def lines_after(sep, lines):
for line in lines:
if sep in line:
break
head, sep, tail = line.partition(sep)
yield tail
yield from lines
def main():
with open('septest.txt', 'w') as outfile:
outfile.write('foo\nbar\baz=ham\nspam\neggs\n')
with open('septest.txt') as infile:
result = lines_after('=', infile)
print(''.join(result))
if __name__ == '__main__':
main()
Und wenn man ganz sicher gehen will, dann fügt man zu Beginn der `lines_after()`-Funktion noch ein ``lines = iter(lines)`` ein, um zu garantieren, dass man auf einem Iterator arbeitet, da es andernfalls zum Beispiel bei der Übergabe von Listen zu einem unerwarteten Ergebnis kommen würde.