Есть ли питонный способ чтения, скажем, смешанного целочисленного и символьного ввода, не считывая весь ввод сразу и не беспокоясь о переносах строк? Например, у меня есть файл с разделенными пробелами данными, о которых я знаю только, что есть x целых чисел, затем y символов и затем еще z целых чисел. Я не хочу ничего говорить о переводе строк.
Я имею в виду нечто такое же бессмысленное, как следующее в C ++:
...
int i, buf;
char cbuf;
vector<int> X, Z;
vector<int> Y;
for (i = 0; i < x; i++) {
cin >> buf;
X.push_back(buf);
}
for (i = 0; i < y; i++) {
cin >> cbuf;
Y.push_back(cbuf);
}
for (i = 0; i < z; i++) {
cin >> buf;
Z.push_back(buf);
}
РЕДАКТИРОВАТЬ: я забыл сказать, что я хотел бы, чтобы он хорошо себя вел и при живом вводе данных с консоли - т.е. не должно быть необходимости нажимать Ctrl + D перед получением токенов, и функция должна иметь возможность возвращать их как как только строка была введена. :)