0

我有一个包含大约 100 行数据的文本文件,按以下顺序排列:

Aesop – Aesop’s Fables – example.com
Sherwood – Winesburg – example.com
Lysistrata – Holyland – example.com
Isaac – Nightfall – example.com
Asimov – The Foundation Trilogy – link to mp3

我想编写一个 Twitter 机器人,它将逐行遍历文本文件,搜索包含前两个字段的推文,即。作者姓名和书籍,如果每行中的任何一个字段与推文匹配,则使用第三个字段回复推文,即指向 mp3 的链接。如何使用Python 3 有效地做到这一点?如果有更快的方法,请告诉。

4

1 回答 1

0

我想你正在寻找这样的东西:

#!/usr/bin/env python3

tweet = "Some Tweet including Asimov #Example"

with open("so_textfile_reading.txt", "r") as infile:
    # be aware you are not using a standard minus (HYPHEN-MINUS)
    # in your file to separate the entries, but dashes (EN-DASH)
    entries = [line.strip().split(" – ") for line in infile]
    for author, book, link in entries:
        if (author in tweet) or (book in tweet):
            # Create reply here
            print(link)

您可以遍历文件的所有行。去掉它们的任何空格、换行符等,然后将它们拆分-为作者、书籍和链接的元组。不过,您必须小心拆分中的字符(请参阅代码中的注释)。

然后你只需要检查作者或书籍是否出现在你的推文文本中。请注意,每条推文可能会出现多次点击,因此您必须收集点击(例如在列表中)并在访问所有 100 个条目后创建回复。

希望这可以帮助 :)

于 2015-09-11T07:58:30.773 回答