You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python分文件函数调用报错:NameError问题求助

问题解决方法

1. 修正函数调用方式

你在main.py中导入my_functions模块后,直接调用getAssetHoldings会触发名称未定义错误,因为该函数属于my_functions的模块命名空间,而非全局命名空间。两种修正方式:

方式一:通过模块名调用

修改main.py里的调用代码:

df_assets = my_functions.getAssetHoldings(df_sq)

方式二:直接导入指定函数

将main.py的导入语句替换为:

from my_functions import getAssetHoldings

之后即可直接调用getAssetHoldings(df_sq)。

2. 修复stock_functions.py内部变量错误

getAssetHoldings函数的参数是df,但函数内部使用了未定义的df_transactions,且还有一处赋值错误,需同步修正:

def getAssetHoldings(df):
    df_numberAssets_k = df[df['Transaktionen'].isin(['Buy'])]
    df_numberAssets_k = df_numberAssets_k[['Symbol','Quantity']]
    df_numberAssets_v = df[df['Transaktionen'].isin(['Sell'])]
    df_numberAssets_v = df_numberAssets_v[['Symbol','Quantity']]  # 原代码误写为df_numberAssets_k
    ....
    return df_current_assets 

3. 额外检查点

  • 确认my_functions文件夹下的__init__.py无语法错误,当前代码可正常将子模块内容导入到模块命名空间。
  • 检查VS Code使用的Python解释器为你指定的3.9.2版本,避免环境不一致引发问题。

内容的提问来源于stack exchange,提问作者Roberto S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 08:59:19