AttributeError: 'NoneType' object has no attribute 'upper' when fetching Reddit darkmode

AttributeError: 'NoneType' object has no attribute 'upper' when fetching Reddit darkmode

我正在尝试获取 Reddit 的深色模式,但导致标题出现此错误,这是我当前的代码;

if getenv("THEME").upper() == "DARK":
            cookie_file = open('./video_creation/data/cookie.json')
            cookies = json.load(cookie_file)
            context.add_cookies(cookies)

如评论中所述,getenv("THEME") 的 return 值显然是 None,您不能调用 upper。您应该调查为什么 getenv("THEME") 没有 return 您期望的结果。

如果这是 os.getenv 你也可以提供一个默认值。

getenv("THEME", default='light').upper()

getenv() 函数返回一个 None 值,可能是因为无法找到变量或类似的原因。您还可以尝试使用 try-except 块来解析类型错误的答案。此外,如果这是来自 os 模块的 getenv,那么您可以提供如上所述的默认值。

try 块可以这样完成:

try:
    if getenv("THEME").upper() == "DARK":
            cookie_file = open('./video_creation/data/cookie.json')
            cookies = json.load(cookie_file)
            context.add_cookies(cookies)
except TypeError:
    # Do something if variable is not found or something like that
    smth_default()