Как использовать самую последнюю напечатанную строку в качестве ввода? - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь создать бота Twitter, который отправляет случайную строку из текстового файла. Я дошел до генерации случайных строк, которые печатаются по одной, и предоставления боту доступа к моему приложению Twitter, но я не могу понять, как использовать печатную строку в качестве статуса.

Я использую Tweepy. Насколько я понимаю, мне нужно использовать api.update_status(status=X), но я не знаю, каким должно быть X, чтобы статус совпадал с последней напечатанной строкой.

Это соответствующий раздел того, что я до сих пор:

from random import choice
x = 1
while True:
  file = open('quotes.txt')
  content = file.read()
  lines = content.splitlines()
  print(choice(lines))
  api.update_status(status=(choice(lines)))
  time.sleep(3600)

Бот получает доступ к Twitter без проблем. В настоящее время он публикует еще одну случайную цитату, сгенерированную (choice(lines)), но я бы хотел, чтобы она соответствовала тому, что печатается непосредственно перед этим.

Ответы [ 2 ]

1 голос
/ 23 февраля 2020

Возможно, я не до конца понимаю ваш вопрос, но с самого начала, где написано «Как использовать самую последнюю напечатанную строку в качестве входных данных», я думаю, что могу ответить на этот вопрос. Всякий раз, когда вы используете команду print (), сохраняйте аргумент в строковую переменную, которая перезаписывает ее последнее значение. Затем сохраняется последнее напечатанное значение.

0 голосов
/ 23 февраля 2020

Вместо прямой печати выбора:

print(choice(lines))

создайте новую переменную и используйте ее в print() и api.update_status():

selected_quote = choice(lines)
print(selected_quote)
api.update_status(status=selected_quote)
...