我试图在 Pycharm 中运行此代码,但出现以下错误:
TypeError: expected str, bytes or os.PathLike object, not NoneType
这适用于 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()
原文由 rd45 发布,翻译遵循 CC BY-SA 4.0 许可协议
显然
os.getenv("HOME")
如果环境变量不存在,将返回 Nonetype 值。尝试os.getenv('HOME', "not found")
确定。 –如果环境不可用,则输出为“未找到”。相反,您可以使用os.getcwd()
如果 .py 文件存在于与 birth_day_lookup.txt 相同的目录中。希望这可以帮助。