我试图在Pycharm中运行此代码,但出现以下错误:
TypeError: expected str, bytes or os.PathLike object, not NoneType
这是针对在Pycharm,python 3.7上运行的Windows 10
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()
答案 0 :(得分:1)
删除位置.condarc
中的C:\Users\UserName\
文件
答案 1 :(得分:0)
如果环境变量不存在,显然os.getenv("HOME")
将返回Nonetype值。
请尝试os.getenv('HOME', "not found")
确定。如果环境不可用,--gives输出为“未找到”。
相反,如果.py文件存在于birth_day_lookup.txt所在的目录中,则可以使用os.getcwd()
。希望这会有所帮助。
答案 2 :(得分:0)
Python 期望会有,例如,字符串(str)或 PathLike 对象,您可以在官方文档中阅读https://docs.python.org/3/library/os.path.html#module-os.path