属性错误:"NoneType"对象在获取Reddit暗模式时没有属性"upper"



我试图获取Reddit的黑暗模式,但在标题中导致此错误,这是我当前的代码;

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

getenv()函数返回一个None值,可能是因为无法找到变量或类似的东西。您还可以尝试使用try-except块来解析TypeError情况下的答案。此外,如果这是来自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()

如注释所述,getenv("THEME")的返回值显然是None,因此不能调用upper。您应该调查为什么getenv("THEME")没有返回您期望的结果。

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

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

最新更新