Text18. Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина строки меньше K, то удалить из нее все символы).
Решение на Python 3:
# -*- coding: utf-8 -*-
import random
import string
import os
import sys
file1 = "text18.txt"
print("Read from:",file1)
try:
#file for temporary data
N = random.randrange(5,8)
S = ''.join(random.choice(string.ascii_lowercase + string.ascii_uppercase \
+ string.digits) for _ in range(N))
temp_file = "temp_" + S + ".txt"
#print()
print("Temp file:",temp_file)
K = random.randrange(1,8)
print("K = ",K)
with open(file1, 'r') as f1, open(temp_file, 'w') as outfile:
for line in f1:
#print(line[K::])
outfile.write(line[K::])
with open(file1, 'w') as outfile, open(temp_file, 'r') as infile:
for line in infile:
outfile.write(line)
#sys.exit()
try:
os.remove(temp_file)
except OSError as e:
print("\nError:", e)
except IOError:
print('Open error: ',file1)