File13. Дан файл целых чисел. Создать два новых файла, первый из которых содержит положительные числа из исходного файла (в обратном порядке), а второй — отрицательные (также в обратном порядке). Если положительные или отрицательные числа в исходном файле отсутствуют, то соответствующий результирующий файл оставить пустым.

Решение на Python 3:

def EmptyFile(fname):
open(fname, 'w').close()

def Write2File(fname,line):
try:
f = open(fname, "a")
try:
f.write(line)
finally:
f.close()
except IOError:
print('Write error: ',fname)

f_source = "file13_source.txt"
f_positive = "file13_p.txt"
f_negative = "file13_n.txt"
EmptyFile(f_positive)
EmptyFile(f_negative)

try:
with open(f_source,'r') as f:
lines = f.readlines()
#print(lines)
for line in reversed(lines):
k = int(line.strip())
if k > 0:
Write2File(f_positive,str(k)+'\n')
elif k < 0:
Write2File(f_negative,str(k)+'\n')
except IOError:
print('Open error: ',f_source)