toronto
Сен. 2, 2011 08:06:39
Есть файл text.txt такого вида:
1111
2222
3333
4444
5555
6666
7777
8888
9999
Делаем:
file=open(text.txt)
for lines in file:
print(file.readline())
Выводит строчки через одну, а не все:
>>>
2222
4444
6666
8888
>>>
Почему так? И как сделать, чтобы выводил все?
PooH
Сен. 2, 2011 08:23:34
toronto
file=open(text.txt)
for lines in file: # Здесь читаем строку
print(file.readline()) # И здесь читаем строку
with open('test.txt') as input_file:
for line in input_file:
print line.strip().strip() - удалит перевод строки в конце прочитанной строчки
toronto
Сен. 2, 2011 08:32:14
Понял. Спасибо)
Fibio
Сен. 3, 2011 11:27:28
file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
> .strip() - удалит перевод строки в конце прочитанной строчки
Врёшь. STRIP без аргументов удалят несколько больший набор символов, чем просто переводы, к тому же не только в конце, но и в начале (это не всегда нужно), точнее было бы: line.rstrip('\r\n')
> file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
Будешь смеяться, но readlines, в отличии от xreadlines всем известен, и итерация по файловому объекту есть ни что иное как работа xreadlines. Точно не нужен цикл, точно переноса в конце не будет? А ну марш учить уроки.
..bw
PooH
Сен. 5, 2011 12:59:18
bw
> .strip() - удалит перевод строки в конце прочитанной строчки
Врёшь. STRIP без аргументов удалят несколько больший набор символов, чем просто переводы, к тому же не только в конце, но и в начале (это не всегда нужно), точнее было бы: line.rstrip('\r\n')
Гадом буду! :) Я же не доку по фунции писал, а пояснил зачем .strip воткнул. А для его файлика все равно.
Fibio
Сен. 8, 2011 14:04:14
bw
>
> file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
Будешь смеяться, но readlines, в отличии от xreadlines всем известен, и итерация по файловому объекту есть ни что иное как работа xreadlines. Точно не нужен цикл, точно переноса в конце не будет? А ну марш учить уроки.
..bw
xreadlines тоже можно юзать, но я уведела что там файлик маленький, так что незачем построчно доставать, можно сразу в список. да если строк в файле много следует использовать xreadlines т.к. он достает нужнкую строку при обращении к ней а не загружает все содержимое файла единоразово в 1 список. Уроки выучены?
ILeA
Сен. 12, 2011 13:16:38
а можно вот так поступить
file=open('text.txt','rt')
for Line in file:
print Line,
Команда print дописывает к своему выводу символ новой строки, а поскольку в вашем файле и так каждая строка заканчивается символом новой строки то и получаем на выходе пустые строки. Можно после Line поставить <,> и тогда команда print не будет выводить последний символ строки, но попрежнему будет сама дописывать символ новой строки, то есть на выходе будет то что надо.
ring0za
Авг. 18, 2013 16:31:57
print(open('file','r').read())
wbt
Авг. 19, 2013 00:27:23
file=open(text.txt)
for lines in file:
print(file.readline())
Выводит строчки через одну, а не все:
логично. ведь генератор дёргается дважды, первую строку - в lines, вторую - через .readline()
проще сделать просто:
for lines in file:
pirnt (lines)