Я немного запутался, читая мой текстовый файл с помощью Python, а затем добавляя к нему значение.
Я пытаюсь добиться вызова API, получения идентификатора последнего объекта,и проверьте, есть ли этот идентификатор в списке ранее извлеченных и опубликованных объектов.
Я предварительно заполнил свой выходной файл 5 случайными идентификаторами, чтобы посмотреть, работает ли он (см. выходной файл для пяти строк).
Результатом моего вызова было то, что для каждой строки в моем выходном файле была выполнена проверка, а затем напечатано пять раз значение идентификатора (из нового вызова API).Затем для второго вызова он напечатал его снова 5 раз для первых пяти строк, а для следующих пяти он наконец увидел, что id присутствовал, поскольку на этот раз он был таким же, но также напечатал I found nothing interesting :(
пять раз.
Мне бы хотелось, чтобы 1 операция считывала все строки сразу, и делала проверку присутствующей / не присутствующей, а затем записывала / не записывала.Я пишу на Py3, но в конечном итоге придется портировать на Py2.
Если вы думаете, что я действительно все делаю неправильно, дайте мне знать, я новичок.
Вот фрагмент:
with open('Output.txt', 'r') as f:
for line in f.readline():
if idValue in line:
print("I found nothing interesting :(")
else:
send_message_to_slack(string)
print("bingo, message sent!")
# Saving the value retrieved to a text file for the next call
with open("Output.txt", "a") as text_file:
#print("{}".format(idValue), file=text_file)
text_file.write("\n"+idValue)
time.sleep(100)
Мой журнал:
Checking id value
Calling API
decode data
retrieving_id
bingo, message sent!
bingo, message sent!
bingo, message sent!
bingo, message sent!
bingo, message sent!
Checking id value
Calling API
decode data
retrieving_id
bingo, message sent!
bingo, message sent!
bingo, message sent!
bingo, message sent!
bingo, message sent!
I found nothing interesting :(
I found nothing interesting :(
I found nothing interesting :(
I found nothing interesting :(
I found nothing interesting :(
И выходной файл:
5468
64654654
6546
35463
7575337
308381357
308381357
308381357
308381357
308381357
308381357
308381357
308381357
308381357
308381357