Мне нужно найти (F) имя_стали (L) имя_стали в записи и изменить (B) день рождения для этой записи. Ввод, который получает меня, - это когда «Адам», «Смит», как в «Адаме Смите» и Адаме Смитерсе, и обе даты рождения меняются. Я попытался с помощью индексации изолировать фамилию и сравнить ее со значением «L», но она никогда не регистрировалась как true.
if re.search(F, recordLine):
lastName = recordLine[start+16:start+32]
if L == lastName:
recordLine = record[start:start + recordLength - 8]+ B
Я пытался заменить этот код для оператора if в кодеЯ написал ниже ниже, чтобы попытаться решить проблему, но она никогда не возвращает True.
recordLength = 40
start = 0
recordList = []
file1 = open(P, 'r')
record = file1.read()
file1.close()
file1 = open(P, 'w')
while( (len(record) - start) >= recordLength):
recordLine = record[start:start + recordLength]
recordList.append(recordLine)
if re.search(F, recordLine) and re.search(L, recordLine):
recordLine = record[start:start + recordLength - 8]+ B
file1.write(recordLine)
start+= recordLength
file1.close()
Your output:
Adam Smith 11111900*
Theodore Anderson 03201990
Monty Biscuit-Barrel 10181980
Adam Smithers 11111900*
Ruthy Anderson 06062010
Expected output:
Adam Smith 11111900*
Theodore Anderson 03201990
Monty Biscuit-Barrel 10181980
Adam Smithers 10101960
Ruthy Anderson 06062010
Указанные (B) даты обновления - те, которые изменились. Кажется, что используемая нами программа Codio запускает код с разными переменными, чтобы убедиться, что он функционирует, поэтому трудно точно знать, что это такое. Но моя проблема возникает, когда F = Адам и L = Смит