Найти - Пользователи
Полная версия: string __iter__ ??
Начало » Python для новичков » string __iter__ ??
1
doza_and
что-то туплю :)
Хочу: Передавать в функцию итератор букв, в качестве источника букв использовать файл или строку.
(нужно что-то типа 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

но согласитесь выглядит странно.
@cckyi_boxxx
zz = iter('looooool')
for x in zz :
    print x

так-же могешь с модулем itertools поиграться , это ваще кульная штука
doza_and
О спасибо! а то уж совсем питон забыл. Теперь остался вопрос как представить файл как поток байт. Наверно просто доопределю класс…
beelze
>Теперь остался вопрос как представить файл как поток байт.
как-то поподробнее бы Вы пожелание высказали. могу навскидку предложить для раздумий:
        with open(file, 'rb') as f: 
            for chunk in iter(lambda: f.read(chunk_size), ''): 
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB