我有一个包含一些函数的.py文件。其中一个功能需要Python的csv模块。让我们称之为foo
。
这就是:如果我进入python shell,导入csv模块,编写foo
的默认并使用它,一切运行正常。
当我尝试从自定义模块导入foo
时出现问题。如果我进入python shell,导入csv模块,导入foo
所在的模块并尝试使用它,它将返回一个错误,指出' csv'尚未定义(它的行为就像没有导入csv模块一样)。
我想知道我是否错过了与导入相关的某种范围行为。
如何启用foo
以使用csv模块或其所需的任何其他模块?
提前谢谢
答案 0 :(得分:0)
通过在定义foo
功能的文件中导入它。
foo
函数不知道查找包含您在REPL中使用的全局变量的字典(导入csv
的位置)。它查看它的模块的全局变量(当然还有其他步骤),如果它没有找到它,你将获得NameError
。