Проверьте, содержит ли строка определенное слово, и измените ее.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте, содержит ли строка определенное слово, и измените ее.

Сообщение Anonymous »

Я магнитолог и пытаюсь автоматизировать рутинную задачу с помощью Python. Теперь я работаю с файлом:

Код: Выделить всё

with open('test3.txt') as file:
my_list = file.readlines()
b = [line.strip() for line in my_list]
в результате я получаю список со множеством элементов(строк):

Код: Выделить всё

['"url": "https://services.swpc.noaa.gov/images/animations/d-rap/north-pole/d-rap/`latest`.png",', '"httpVersion": "http/2.0",', '"headers": [', '{', '"name": ":authority",', '"value": "services.swpc.noaa.gov"', '},', '{', '"name": ":method",', '"value": "HEAD"', '},', '{', '"name": ":path",', '"value": "/images/animations/d-rap/north-pole/d-rap/`latest`.png"', '"url": "https://services.swpc.noaa.gov/images/animations/d-rap/global_f05/d-rap/`latest`.png",', '"httpVersion": "http/2.0",', '"headers": [', '{', '"name": ":authority",', '"value": "services.swpc.noaa.gov"', '},', '{', '"name": ":method",', '"value": "HEAD"', '},', '{', '"name": ":path",', '"value": "/images/animations/d-rap/global_f05/d-rap/`latest`.png"', '},', '{', '"name": ":scheme",', '"value": "https"', '},', '{', '"name": "accept",', '"value": "*/*"', '},', '{', '"name": "accept-encoding",', '"value": "gzip, deflate, br"', '', '']
моя задача — найти все строки, содержащие последнюю версию, и изменить это конкретное слово, вот так:

Код: Выделить всё

'"url": "https://services.swpc.noaa.gov/images/animations/d-rap/north-pole/d-rap/`latest1`.png",'
следующая строка, содержащая последнюю версию, должна выглядеть так:

Код: Выделить всё

'"value": "/images/animations/d-rap/north-pole/d-rap/`latest2`.png"', '
и т. д., по сути, мне просто нужно каждый раз прибавлять 1 к слову "последний", но я ломаю над этим голову 2 дня) помогите пожалуйста
вот мой «код», но он не работает:

Код: Выделить всё

with open('test3.txt') as file:
my_list = file.readlines()
b = [line.strip() for line in my_list]
latest_count = 1
latest_count2 = 2
for i in range(len(b)):
if b[i] ==  '"url": "https://services.swpc.noaa.gov/images/animations/d-rap/north-pole/d-rap/latest.png",':
b[i] =   f'"url": "https://services.swpc.noaa.gov/images/animations/d-rap/north-pole/d-rap/latest{latest_count}.png",'
latest_count += 1
elif b[i] == '"value": "/images/animations/d-rap/global_f05/d-rap/latest.png"':
b[i] = f'"value": "/images/animations/d-rap/global_f05/d-rap/latest{latest_count2}.png"'
latest_count2 = 2
print(b)
тем более в исходном файле таких строк тысячи, и все они разные, кроме того, что содержат последние

Подробнее здесь: https://stackoverflow.com/questions/783 ... -change-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»