Проверьте, существует ли дубликат, а затем добавьте уникальную цифру в строку? - PullRequest
0 голосов
/ 22 октября 2019

INPUT.TXT выглядит следующим образом -

pr-ec2_1034
pr-ec2_1023
pr-ec2_1099

Я хочу написать скрипт на python, который будет читать этот файл и добавлять +1 к строке с наибольшим номером, а затем печатать эту строку.

Желаемый вывод -

pr-ec2_1100

Прямо сейчас я могу добавить +1 ко всем строкам, например -

def increment_digits(string):
    return ''.join([x if not x.isdigit() else str((int(x) + 1) % 10) for x in string])

with open('INPUT.txt', 'r') as file:
    data = file.read()
print(increment_digits(data))

Вывод-

pr-ec3_2145
pr-ec3_2134
pr-ec3_2134

, ноэто не то, что я хочу. Я хочу найти строку с наибольшим конечным номером в файле input.txt и добавить +1 только к этой строке после (последнее подчеркивание)

pr-ec2_1100 - это то, что я хочу

1 Ответ

0 голосов
/ 22 октября 2019

Примерно так:

with open('input.txt') as f:
  lines = [l.strip() for l in f.readlines()]
  numbers = [int(l.split('_')[1]) for l in lines]
  _max = max(numbers)
  result = _max + 1
  print('result: pr-ec2_{}'.format(result))

вывод

pr-ec2_1100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...