Python - запись в начало и конец каждой строки в TXT - PullRequest
2 голосов
/ 28 октября 2011

В настоящее время я ищу способ записи в начало и конец каждой строки TXT-файла в Python. Например,

Текущий текстовый документ:

Jimmy
Was
Here

Пишите 1-е ЗНАЧЕНИЕ в начале каждой строки

111Jimmy
111Was
111Here

Запишите 2-е ЗНАЧЕНИЕ в конец каждой строки

111Jimmy222
111Was222
111Here222

Не могу найти в Google ничего, что описывает, как правильно это сделать. Я нашел методы написания определенных строк, но не все из них таким образом. Любая помощь приветствуется! Спасибо!

Ответы [ 4 ]

11 голосов
/ 28 октября 2011
prefix = '111'
suffix = '222'

with open('source.txt', 'r') as src:
    with open('dest.txt', 'w') as dest:
       for line in src:
           dest.write('%s%s%s\n' % (prefix, line.rstrip('\n'), suffix))
3 голосов
/ 28 октября 2011

Вы можете внести изменения в файл без открытия нескольких файлов, используя fileinput с inplace=1:

import fileinput
for line in fileinput.input('test.txt', inplace=1):
    print '{0}{1}{2}'.format('111', line.rstrip('\n'), '222')
0 голосов
/ 28 октября 2011
f1o = open("input.txt", "r")
f2o = open("output.txt", "w")

for line in f1o:
    f2o.write("111%s222\n" % line.replace("\n"))

f1o.close()
f2o.close()
0 голосов
/ 28 октября 2011

Предполагая, что вы прочитали файл, используя readlines () в списке, вы можете сделать

value1 = "" # appended at first
value2 = "" # appended at last
data = file.readlines()
data = [ ( value1 + str.rstrip('\n') + value2 + "\n" ) for str in data ]

и затем записать данные обратно в файл ....

...