Запись в файлы (Python)

Скажем, у меня есть список, отформатированный примерно так:a = [a,2,b,3,c,4,d,3], и я хочу записать в любой файл, который позволяет создавать верхние индексы, например:

а ^2
б ^3
с ^4

и так далее. Какими возможными способами это можно сделать (индексы должны быть правильно отформатированы, как и реальные индексы)?

3 ответа

Так просто, как это:

files=open('write.txt','a')
a = ['a','2','b','3','c','4','d','3']
count=0
while count<len(a):
    files.write(a[count]+'^'+a[count+1]+'\n')
    count=count+2 

По сути, это просто открытие файла, а затем объединение последовательных элементов с ^ а затем соединить все это с разрывом строки. Наконец это записывается в файл, и файл закрывается:

with open('filename.txt', 'w') as file:
    it = iter(a)
    file.write('\n'.join('^'.join([first, str(second)]) for first, second in zip(it, it)))

Если вы не хотите использовать какие-либо объединения и понимания, вы также можете использовать форматирование:

with open('filename.txt', 'w') as file:
    template = '{}^{}\n' * (len(a) // 2)
    formatted = template.format(*a)
    file.write(formatted)

Вот простой способ сделать это. Замените заявление на печать своим письмом, и вы будете в хорошей форме.

Сначала подготовьте свой список, разделив его на 2 части:

a =  ['a',2,'b',3,'c',4,'d',3]
first = a[0::2]
second = a[1::2]

Затем зациклите первый список с перечислением и добавьте второе значение:

for i, f in enumerate(first):
    super = '%s^%s' % (f, second[i])
    print(super)  # replace with write function

Вывод выглядит так:

а ^ 2

б ^3

с ^4

д ^3

Это должно быть проще!

Другие вопросы по тегам