Если у меня есть файл (users.txt) со следующей информацией: отформатированныйSplit Python функция не работает, как ожидалось
x y z(t)
x y z(t)
Как я могу написать функцию питона, который читает в файле (users.txt) и использует функцию split
разбить каждую строку файла в трех переменных:
who
для x
where
для y
when_and_time
для z(t)
и print
s к экрану, так что формат является who on where at when_and_time
или с переменными x on y at z(t)
То, что я до сих пор:
user_info = open("~/users.txt").read()
for line in user_info:
positions = line.split(',')
who = positions[0]
where = positions[1]
when_and_time = positions[2]
print(who + " on " + where + " at " + when_and_time) # I press enter at this point
Это дает мне подсказку для большего количества команд, в в какой точке я снова нажимаю кнопку ввода и получаю следующее:
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
IndexError: list index out of range
Что я делаю неправильно?
вы можете проверить, напечатав 'positions' список и посмотреть, сколько элементов у вас есть. И разделяется ли оно ','? – badc0re
'read' будет читать весь файл как строку. если вы хотите, чтобы строка за строкой использовала 'readlines', она выдаст вам строки – Hackaholic
@Hackaholic Это работало вместе с ответом porglezomp !! Спасибо!!! – movietime