Форум сайта python.su
Программа удаления лексем, находящихся в одном файле, из другого файла.
Получился такой код:
import sys from fileinput import fileno try: f1 = open(sys.argv[1], 'r') f2 = open(sys.argv[2], 'r') except FileNotFoundError: print('File "readFile.txt" or "leksems.txt" not found') exit() f3 = open('results.txt', 'w') for line in f1: for line2 in f2: for elements in line2.split(): line = line.replace(elements, '') f3.write(line) f2.seek(0) for f in f1, f2, f3: f.close()
Офлайн
Зачем тебе fileno, если ты его нигде не используешь? Функциональное программирование? А сделать так нельзя?:
import sys def func(): try: f1 = open(sys.argv[1], 'r') f2 = open(sys.argv[2], 'r') except FileNotFoundError: print('File "readFile.txt" or "leksems.txt" not found') exit() f3 = open('results.txt', 'w') for line in f1: for line2 in f2: for elements in line2.split(): line = line.replace(elements, '') f3.write(line) f2.seek(0) for f in f1, f2, f3: f.close()
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
Почему бы не воспользоваться регулярными выражениями, чтобы было проще?
import re, sys skip_lexems = "|".join(open(sys.argv[1], 'r').split("\n")) src = open(sys.argv[2], 'r').read() open("results.txt", "w").write(re.sub(skip_lexems, "", src))
Офлайн