Verwenden split
Funktion eine Zeichenfolge in ein Tupel von Strings aufteilen . Die int
Funktion wird dann versuchen, es zu analysieren, ValueError
zu erhöhen, wenn es nicht möglich ist. Der try/except
Block fängt dann den Fehler ab und übergibt stattdessen den ursprünglichen String.
def tuple_parser(text):
raw_parts = text.split()
parsed_parts = []
for raw_part in raw_parts:
try:
parsed_part = int(raw_part)
except ValueError:
parsed_part = raw_part
parsed_parts.append(parsed_part)
return tuple(parsed_parts)
def tuple_file_parser(filename)
with open(filename, 'r') as f:
text = f.read()
return tuple_parser(text)
Wenn Sie mehrere Zeilen wie diese in der Datei haben, können Sie tuple_parser
in einer Schleife aufrufen. Iterieren über ein file
-Objekt zurück zu einer Zeit, die Linien ein:
with open(filename, 'r') as f:
tuples = [tuple_parser(line) for for line in f]
'(50, 8, 2, ...)' nicht viel Sinn macht, wo Sind diese Zahlen gekommen? m? –
Danke, dass Sie uns gesagt haben, was Sie tun müssen, was haben Sie versucht und haben Sie eine Frage? – MooingRawr
Sorry meine schlechte, siehe bearbeiten – Brian