2016-11-14 5 views
0

Мне нужно отправить строки в начало и конец файла с именем testPrint.txt. Строки, которые мне нужно отправить, хранятся в testValues.txt. Для этого мне понадобится третий файл, чтобы написать все это, tempFile.txt.Ввод строк в начало и конец файла

  1. Мне нужно написать строки из testValues.txt до в tempFile.txt.

  2. Добавить данные от testPrint.txt до tempFile.txt.

  3. Затем добавьте линии от testVaules.txt до tempFile.txt.

  4. И, наконец, скопируйте содержимое с tempFile.txt и перезапишите данные на testPrint.txt, чтобы содержать мои testValues.txt в начале и конце файла.

Возможно ли это? Если да, то как?

+0

Да это возможно, и вы просто ответить себе о том, как это сделать ... Что проблема? – MooingRawr

ответ

0

Несомненно, это возможно, хотя я не понимаю, зачем вам нужен временный файл. Просто держите данные в памяти.

  1. открыт testValues.txt и testPrint.txt в режиме только для чтения (handle = open(..., 'r'))
  2. читать данные с content = handle.read()
  3. закрыть файлы с handle.close()
  4. открытым test.Print.txt в режиме записи (handle = open(..., 'w'))
  5. написать контент, который вы хотите, в том порядке, в котором вы хотите, и закрыть его.

(Вместо явного close вы можете использовать в качестве open contextmanager:

with open('testValues.txt', 'r') as testValuesFile: 
    testValues = testValuesFile.read() 

)

+0

Это отличная идея, но это обеспечит, чтобы все было написано? Я иногда вступал в контакт, когда некоторые данные не всегда записывались. –

+0

В момент, когда вы открываете ('testPrint.txt', 'w') 'файл усечен, поэтому он полностью пуст, и прежнее содержимое будет перезаписано. –

1

Мне нужно написать строки от testValues.txt до tempFile.txt.

open('tempFile.txt', 'w').write(open('testValues.txt').read()) 

Append данные из testPrint.txt в tempFile.txt.

open('tempFile.txt', 'a').write(open('testPrint.txt').read()) 

Далее, добавьте строки из testVaules.txt в tempFile.txt.

open('tempFile.txt', 'a').write(open('testVaules.txt').read()) 

Наконец, скопировать содержимое из tempFile.txt и перезаписывать данные на testPrint.txt, чтобы содержать мой testValues.txt в начале и в конце файла.

open('testPrint.txt', 'w').write(open('tempFile.txt').read()) 

Другой вариант:

tv = open('testVaules.txt').read() 
open('testPrint.txt', 'w').write(tv + open('testPrint.txt').read() + tv) 
+0

'open ('...', 'w'). Write (...)' может не правильно закрыть файл. –

0

Для записи в конец файла:

with open('file.txt', 'a') as outfile: 
     outfile.write(row) 

Чтобы написать в начале:

data = [] 
    with open('file.txt', 'r') as infile: 
     for row in infile: 
      data.append(row) 
    with open('file.txt', 'w') as outfile: 
     for row in data: 
      outfile.write(row)