导入模块函数及其所需的依赖项
Import a module function and required dependencies for it
如何导入和 运行 一个 Python 函数并使其使用的所有依赖项都使用从主 Python 文件导入的内容?
主 Python 文件:
from im import er
import time
er()
Python 待导入函数的文件:
def er():
time.sleep(1)
print('hi')
这不起作用,因为 time
模块未导入 im.py
。每次我 运行 函数时,如何在不导入所需模块的情况下完成这项工作?
您必须在函数文件中导入主要函数和函数所需的模块。
主 Python 文件:
from im import er
er()
导入模块:
from time import sleep
def er():
sleep(1)
print('hi')
这是因为 Python 运行 导入时导入的模块。然后,根据您的导入语句,它将执行:
import <module>
:创建一个名为 <module>
的模块对象,其属性允许您访问该模块的全局范围。如果函数在模块的全局范围内,则可以使用 <module>.<function_name>
. 访问它
from <module> import *
:将导入模块的全局范围添加到当前模块的全局范围(不完全是,但如果您需要有关它的更多信息,请查找通配符导入行为)。作为这个导入的一个好的经验法则:不要使用这个。
from <module> import <symbol>
: 将导入模块的符号添加到当前模块的全局作用域中。
有关导入的更多信息:
如何导入和 运行 一个 Python 函数并使其使用的所有依赖项都使用从主 Python 文件导入的内容?
主 Python 文件:
from im import er
import time
er()
Python 待导入函数的文件:
def er():
time.sleep(1)
print('hi')
这不起作用,因为 time
模块未导入 im.py
。每次我 运行 函数时,如何在不导入所需模块的情况下完成这项工作?
您必须在函数文件中导入主要函数和函数所需的模块。
主 Python 文件:
from im import er
er()
导入模块:
from time import sleep
def er():
sleep(1)
print('hi')
这是因为 Python 运行 导入时导入的模块。然后,根据您的导入语句,它将执行:
import <module>
:创建一个名为<module>
的模块对象,其属性允许您访问该模块的全局范围。如果函数在模块的全局范围内,则可以使用<module>.<function_name>
. 访问它
from <module> import *
:将导入模块的全局范围添加到当前模块的全局范围(不完全是,但如果您需要有关它的更多信息,请查找通配符导入行为)。作为这个导入的一个好的经验法则:不要使用这个。from <module> import <symbol>
: 将导入模块的符号添加到当前模块的全局作用域中。
有关导入的更多信息: