我有两个文件n1711_001_insilico
和{mzdf
,它是<class 'pandas.core.frame.DataFrame'>
,而{import
:
import numpy as np
import pandas as pd
from n1711_001_insilico import mzdf, charge
我得到了ImportError: cannot import name mzdf
(以及charge
)。在第一个文件中,我显式地从函数返回mzdf
和{
更新:根据评论,我现在知道问题来自第一个文件中的if __name__ == "__main__":
。有什么方法可以在不删除if __name__ == "__main__"
的情况下修复此问题?在
在该语句中,您要导入以下语句:
这意味着只有在命令行中直接执行文件时,例如使用
python n1711_001_insilico.py
,命令CALC
才会实际运行和执行,这是设置两个变量mzdf
和charge
的函数。在换句话说,只有当您直接用
python n1711_001_insilico.py
运行文件时,这两个变量才存在,当您导入它时,Python不会运行该函数。在这是设计的;导入文件后,变量
__name__
指向文件名,因此条件失败。在现在,要解决这个问题,您必须在导入文件时运行
^{pr2}$CALC
函数,并获得自己的结果副本:相关问题 更多 >
编程相关推荐