bet*_*use 5 python python-module python-import python-2.7
我是新手,Python正在创建一个模块以重用一些代码。我的模块(impy.py)看起来像这样(到目前为止,它只有一个功能)...
import numpy as np
def read_image(fname):
....
Run Code Online (Sandbox Code Playgroud)
并将其存储在以下目录中:
custom_modules/
__init.py__
impy.py
Run Code Online (Sandbox Code Playgroud)
如您所见,它使用了numpy模块。问题是当我从另一个脚本导入它时,就像这样...
import custom_modules.impy as im
Run Code Online (Sandbox Code Playgroud)
然后我输入im.不仅可以调用函数的选项,还可以调用read_image()模块的选项np。
如何使它仅可用于我在模块中编写的功能,而不能在模块正在调用的模块(在这种情况下为numpy)中使用?
非常感谢您的帮助。
您可以在函数中导入 numpy
def read_image(fname):
import numpy as np
....
Run Code Online (Sandbox Code Playgroud)
使其对read_image代码本地可用,但不能全局可用。
但警告,这可能会导致性能下降(因为numpy每次运行代码时都会导入,而不是在初始导入时只导入一次) - 特别是如果您运行read_image多次。