在另一个模块中使用模块

时间:2017-10-14 16:03:23

标签: python python-3.x csv

我有一个包含一些函数的.py文件。其中一个功能需要Python的csv模块。让我们称之为foo

这就是:如果我进入python shell,导入csv模块,编写foo的默认并使用它,一切运行正常。

当我尝试从自定义模块导入foo时出现问题。如果我进入python shell,导入csv模块,导入foo所在的模块并尝试使用它,它将返回一个错误,指出' csv'尚未定义(它的行为就像没有导入csv模块一样)。

我想知道我是否错过了与导入相关的某种范围行为。

如何启用foo以使用csv模块或其所需的任何其他模块?

提前谢谢

1 个答案:

答案 0 :(得分:0)

通过在定义foo功能的文件中导入它。

foo函数不知道查找包含您在REPL中使用的全局变量的字典(导入csv的位置)。它查看它的模块的全局变量(当然还有其他步骤),如果它没有找到它,你将获得NameError