#python #file-handling
#питон #обработка файлов
Вопрос:
Мне нужно объединить некоторую строку из другого файла в выходной файл, но только в одной строке! Это мой настоящий код:
eannuli=open('eannuli_spec_prova_ciao.reg','r',) fov_c7=open('23849_fov_c7_ciao.reg','r') fov7=fov_c7.read() psr=open('psrc-ciao_mod.reg','r') psrc=psr.read() i = 1 for ean in eannuli: if os.path.exists('region%s.reg' %i): i = 1 region=open('region%s.reg' %i, "w") print(fov7,'*',file=region,sep='*',end='') print(ean,file=region,sep='',end='') print(psrc,file=region,end='') region.close() break eannuli.close() fov_c7.close() psr.close()
Я также попытался использовать функцию write (), но без успеха. Для каждой переменной он создает новую строку.
Ответ №1:
Судя по вашему сообщению, вы читаете строки из одного файла, а затем записываете их в другой файл. Он помещает новые строки в каждую строку, потому что строки из файла, который вы читаете, содержат новые символы в конце. Вы можете исправить это, удалив символ новой строки в конце строки. Что — то вроде этого:
for ean in eannuli: if os.path.exists('region%s.reg' %i): i = 1 region=open('region%s.reg' %i, "w") region.write(fov7) region.write(ean.rstrip()) region.write(psrc) region.close() break
Ответ №2:
Просто откройте файл в режиме добавления.
fn = 'whatever.txt' with open(fn, 'a') as f: for _ in range(100): f.write('something ')