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)