Форум сайта python.su
что-то туплю :)
Хочу: Передавать в функцию итератор букв, в качестве источника букв использовать файл или строку.
(нужно что-то типа scanf,fscanf а готовый модуль scanf выглядит ужасно)
Вопрос: Как для строки получить итератор
Просто был убежден, что если можно написать
for i in "abc":
print i
itr="abc".__iter__()
for i in itr:
print i
def s_itr(some_string):
for i in some_string:
yield i
def f_tr(some_file):
for i in some_file:
for j in i
yield j
Отредактировано doza_and (Май 3, 2012 19:32:46)
Офлайн
zz = iter('looooool') for x in zz : print x
Офлайн
О спасибо! а то уж совсем питон забыл. Теперь остался вопрос как представить файл как поток байт. Наверно просто доопределю класс…
Офлайн
>Теперь остался вопрос как представить файл как поток байт.
как-то поподробнее бы Вы пожелание высказали. могу навскидку предложить для раздумий:
with open(file, 'rb') as f: for chunk in iter(lambda: f.read(chunk_size), ''):
Офлайн