类型错误:预期的 str、bytes 或 os.PathLike 对象,而不是 None 类型

rd4*_*d45 7 python python-3.x

我正在尝试在 Pycharm 中运行此代码,但出现以下错误:

TypeError: expected str, bytes or os.PathLike object, not NoneType
Run Code Online (Sandbox Code Playgroud)

这适用于 Windows 10,在 Pycharm 上运行,python 3.7

import os
import time
file_path = os.path.join(os.getenv("HOME"), "birth_day_lookup.txt")


def check_birthday():

    lookup_file = open(file_path, 'r')
    today = time.strftime('%d-%B')
    flag = 0
    for entry in lookup_file:
        if today in entry:
            line = entry.split(' ')
            flag = 1
            os.system('notify-send "Today is '+line[1]+' '+line[2]+'\'s Birthday"')
    if flag == 0:
        os.system('notify-send "No birthday for today is listed"')

check_birthday()
Run Code Online (Sandbox Code Playgroud)

小智 7

os.getenv("HOME")如果环境变量不存在,显然会返回 Nonetype 值。尝试os.getenv('HOME', "not found")确定一下。-- 如果环境不可用,则输出为“未找到”。os.getcwd()相反,如果 .py 文件与birth_day_lookup.txt 存在于同一目录中,则可以使用。希望这可以帮助。