Запись чисел в файл - каждое число с новой строки
Задание звучало так: "Создайте текстовый файл с целыми числами, находящимися в нескольких строках файла, разделенные пробелами внутри строк (с помощью приложения Блокнот или WordPad). Чтение чисел из существующего файла и создание двух новых файлов: в один записываются четные числа, в другой – нечетные (каждое число с новой строки)." Файл я создала с помощью блокнота, его содержимое:
6 46 7878
45 428 547 8
4 9876 1 4567 7
0
Код:
c2 = open("C:/Users/user/Desktop/PythonFiles/ch2.txt",'r')
chet = open("chet.txt",'w')
nechet = open("nechet.txt",'w')
for l in c2:
#print(l.strip()) вывод без преобразования в списки целых чисел
#print(list(map(int,l.split(' '))))
chet.write(str([i for i in map(int,l.split(' ')) if i%2 == 0])+'\n')
nechet.write(str([i for i in map(int,l.split(' ')) if i%2 != 0])+'\n')
chet.close()
nechet.close()
with open('chet.txt','r') as ch:
print(ch.read())
with open('nechet.txt','r') as nech:
print(nech.read())
c2.close()
Вывод следующий:
[6, 46, 7878]
[428, 8]
[4, 9876]
[0]
[]
[45, 547]
[1, 4567, 7]
[]
Желаемый вывод:
6
46
7878
428
8
4
9876
0
45
547
1
4567
7
Понимаю, что решение какое-то очевидное, но додуматься не могу. Заранее спасибо за помощь
Источник: Stack Overflow на русском