【问题标题】:Error only occurring when function is imported from adjacent file仅在从相邻文件导入函数时发生错误
【发布时间】:2020-02-16 11:46:40
【问题描述】:

当我在脚本中定义和调用函数时,效果很好。当我从相邻文件导入它时,出现错误:“UnboundLocalError: local variable 'data' referenced before assignment”

我尝试在 IF 语句中包含“return(json_normalize(data))”,但它没有返回任何内容。

正在导入的函数。

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。但我得到了一个错误!

【问题讨论】:

    标签: python function jupyter-notebook python-import


    【解决方案1】:

    由于if语句检查当前模块是否为__main__而发生错误。仅当函数位于主脚本中时才会出现这种情况。去掉if语句,模块就可以从其他地方导入了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 2014-05-21
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      相关资源
      最近更新 更多