仅在从相邻文件导入函数时发生错误
Error only occurring when function is imported from adjacent file
当我在脚本中定义和调用函数时,效果很好。当我从相邻文件导入它时出现错误:"UnboundLocalError: local variable 'data' referenced before assignment"
我试过在 IF 语句中包含 "return(json_normalize(data))",但没有 return 任何内容。
正在导入的函数。
def get_query(query_num):
if __name__ == '__main__':
params = {'p_param': query_num}
query_id = query_num
data = get_fresh_query_result('https://redash.domain.io', query_id, api_key, params)
return(json_normalize(data))
get_fresh_query_result 导入时工作正常。
预期结果是 Pandas df。但我收到了一个错误!
错误是因为if语句检查当前模块是否为__main__
。仅当函数位于主脚本中时才会出现这种情况。去掉if
语句,模块可以从其他地方导入。
当我在脚本中定义和调用函数时,效果很好。当我从相邻文件导入它时出现错误:"UnboundLocalError: local variable 'data' referenced before assignment"
我试过在 IF 语句中包含 "return(json_normalize(data))",但没有 return 任何内容。
正在导入的函数。
def get_query(query_num):
if __name__ == '__main__':
params = {'p_param': query_num}
query_id = query_num
data = get_fresh_query_result('https://redash.domain.io', query_id, api_key, params)
return(json_normalize(data))
get_fresh_query_result 导入时工作正常。
预期结果是 Pandas df。但我收到了一个错误!
错误是因为if语句检查当前模块是否为__main__
。仅当函数位于主脚本中时才会出现这种情况。去掉if
语句,模块可以从其他地方导入。