Я сравниваю 2 файла и удаляю дубликаты из второго файла. Но выкидывает ошибку
2 файла. Нужно добавить одну цифру в конце первой строки и добавить в file2.txt. Но если измененная часть уже есть, то file2 остается нетронутым
import re
import sys
file1 = sys.argv[1]
file2 = sys.argv[2]
rx = r'(?<=:)(\d*)$'
with open(file1,'r') as fh:
fh_n = fh.read()
with open(file2, 'a+') as fw:
x = fw.write(re.sub(rx , lambda x: str(int(x.group(0)) + 1) if len(x.group(1)) else "0", fh_n, 1, re.M))
if x not in file2:
fw.write(x)
file1.txt
python 2.7:
Java 1.8:
python test.py file1.txt file2.txt
Ожидаемый выход даже после стольких казней
python 2.7:0
Java 1.8:
Я получил ошибку Traceback (последний вызов был последним):
Файл "file.py", строка 15, в
если x не в file2:
Ошибка типа: для 'in' в качестве левого операнда требуется строка, а не int