Найти - Пользователи
Полная версия: Вывод строк из файла
Начало » Python для новичков » Вывод строк из файла
1
toronto
Есть файл 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
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
Понял. Спасибо)
Fibio
file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
bw
> .strip() - удалит перевод строки в конце прочитанной строчки
Врёшь. STRIP без аргументов удалят несколько больший набор символов, чем просто переводы, к тому же не только в конце, но и в начале (это не всегда нужно), точнее было бы: line.rstrip('\r\n')

> file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
Будешь смеяться, но readlines, в отличии от xreadlines всем известен, и итерация по файловому объекту есть ни что иное как работа xreadlines. Точно не нужен цикл, точно переноса в конце не будет? А ну марш учить уроки.

..bw
PooH
bw
> .strip() - удалит перевод строки в конце прочитанной строчки
Врёшь. STRIP без аргументов удалят несколько больший набор символов, чем просто переводы, к тому же не только в конце, но и в начале (это не всегда нужно), точнее было бы: line.rstrip('\r\n')
Гадом буду! :) Я же не доку по фунции писал, а пояснил зачем .strip воткнул. А для его файлика все равно.
Fibio
bw
>

> file.readlines - достает содержимое файла в список построчно, и не надо никакого цикла
Будешь смеяться, но readlines, в отличии от xreadlines всем известен, и итерация по файловому объекту есть ни что иное как работа xreadlines. Точно не нужен цикл, точно переноса в конце не будет? А ну марш учить уроки.

..bw
xreadlines тоже можно юзать, но я уведела что там файлик маленький, так что незачем построчно доставать, можно сразу в список. да если строк в файле много следует использовать xreadlines т.к. он достает нужнкую строку при обращении к ней а не загружает все содержимое файла единоразово в 1 список. Уроки выучены?
ILeA
а можно вот так поступить

file=open('text.txt','rt')
for Line in file:
print Line,


Команда print дописывает к своему выводу символ новой строки, а поскольку в вашем файле и так каждая строка заканчивается символом новой строки то и получаем на выходе пустые строки. Можно после Line поставить <,> и тогда команда print не будет выводить последний символ строки, но попрежнему будет сама дописывать символ новой строки, то есть на выходе будет то что надо.
ring0za
print(open('file','r').read())
wbt
file=open(text.txt)
for lines in file:
print(file.readline())

Выводит строчки через одну, а не все:

логично. ведь генератор дёргается дважды, первую строку - в lines, вторую - через .readline()

проще сделать просто:
for lines in file:
pirnt (lines)
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