Как прочитать строку (из файла), а затем добавить + печать в Python? - PullRequest
1 голос
/ 19 ноября 2009
for line in file:
    print line

В коде выше, когда я изменяю его на:

for line in file:
    print line + " just a string" 

Это только добавляет "просто строку" к последней строке

PS: новичок Python

Ответы [ 3 ]

5 голосов
/ 19 ноября 2009

Итерации по файлу включают окончания строк, поэтому просто удалите их:

for line in file:
  print line.rstrip("\n"), "something"

Обратите внимание, что print будет добавлять собственную новую строку, поэтому даже без добавления «что-то» вы захотите сделать это (или использовать sys.stdout.write вместо print) Вы также можете использовать line.rstrip(), если хотите удалить все завершающие пробелы (например, пробелы и табуляции).

Документация:

Файлы поддерживают протокол итератора. Каждая итерация возвращает тот же результат, что и file.readline (), и итерация заканчивается, когда метод readline () возвращает пустую строку.

0 голосов
/ 19 ноября 2009

Вот как вы можете добавить 'что-то' в конце каждой строки:

import fileinput

for line in fileinput.input("dat.txt"):
    print line.rstrip(), ' something'

Если вы хотите добавить «что-то» к строке, а затем вывести строку:

import fileinput

for line in fileinput.input("dat.txt"):
    line = line.rstrip() + ' something'
    print line
    # now you can continue processing line with something appended to it

файл dat.txt:

> cat dat.txt
one
two and three
four -
five
.

выход:

> ./r.py
one  something
two and three  something
four -  something
five  something
.  something
0 голосов
/ 19 ноября 2009

Строка, полученная через итератор, включает в себя символ новой строки в конце - поэтому, если вы хотите, чтобы «что-то» было добавлено в той же строке, вам нужно будет обрезать это.

for line in file:
    print line[:-1] + " something"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...