Умножить числа из файла на n и вывести в другой файл в таком же виде

Пишу простенькую программу для умножения чисел из файла на n (например, на 2), но так, чтобы форматирование не сбивалось. Пока получилось только считать и вывести строку. Пример файла:

{16,32,64,128}
{1,2,3,4,5,6,7}

должно получиться:

{32,64,128,256}
{2,4,6,8,10,12,14}

Пока написал только это:

f=open("qpsk", "r")
o=open("qpskout", "w")
for line in f:
    o.write(line)
f.close()
o.close()

Ответы (2 шт):

Автор решения: Vadim.Sharoikin

Наверное я сильно перемудрил, но выводит в таком же виде. Если возникнут вопросы, спрашивайте.

with open('qpsk', 'r') as f:
    nums = f.read().splitlines() 
    o=open("qpskout", "w")
    for el in nums: 
        left = el.find('{')
        right = el.find('}')
        a = el[left + 1:right]
        b = a.split(",")
        data = ','.join(str(int(i)*2) for i in b)
        new_data = '{' + data + '}'
        o.write("%s\n" % new_data)
    o.close()   
→ Ссылка
Автор решения: Михаил Муругов
In [5]: with open("in_file.txt", "r") as fp_in, open("out_file.txt", "w") as fp_out:  # Открываем файлы
   ...:         for line in fp_in:  # Итерируемся по каждой строке входного файла
   ...:             nums = map(int, line.strip("{}\n").split(","))  # Убираем мусор в виде скобок и переноса строки, разбиваем по запятым, приводим к числам
   ...:             x2_nums = (num*2 for num in nums)  # Умножаем каждое число на 2
   ...:             fp_out.write("{{{}}}\n".format(",".join(map(str, x2_nums))))  # Записываем в выходной файл умноженные числа через запятую со скобками и переносами строк
→ Ссылка