TypeError:list indices必须是整数,而不是str(Python)

时间:2017-08-13 05:17:58

标签: python string list indices

首先,我想清楚一点,我已经阅读并研究了这个错误...我已经在stackoverflow中阅读了一些其他问题。但是,他们没有帮助解决这个问题。 我写的程序应该在有人生日时给你通知(我在另一个txt文件中有日期)。但是,虽然当我运行程序时它工作正常,直到它转到最后一个if语句。然后它给出了List索引必须是整数或切片的错误,而不是str。

import time
import os

with open("file_path") as file:
birthdays = file.readlines()

while True:
    import time
    date = str((time.strftime("%d/%m")))
    for i in birthdays:
        if date == birthdays[i]:
            os.system("""osascript -e 'display notification "{}" with title "{}"'""".format("Someone Has A Birthday Today", "Birthday"))

提前致谢,
克里斯

1 个答案:

答案 0 :(得分:0)

您尝试做的是为今天发生的每个生日致电os.system一次。以下是您应该做的事情:

date = str((time.strftime("%d/%m")))
for i in birthdays:
    if date == i:

当您for - in循环或遍历列表时,您将获得列表中的项目,而不是项目的索引。您不需要其他订阅。