如何导入和运行Python函数,并让它使用的所有依赖项都使用从主Python文件导入的内容?
主Python文件:
from im import er
import time
er()
要导入函数的Python文件:
def er():
time.sleep(1)
print('hi')
这不起作用,因为im.py中没有导入time模块。如果不在每次运行函数时都导入它需要的模块,我如何才能使其工作?
例如:
如果我写
import math
我不擅长编程。为了让程序运行,它必须将代码加载到内存中,并转换为计算机可以理解的0和1。那么,当在我的程序中引用该模块中的任何函数时,它会加载整个数学模块,还是只在程序中展开该模块一次?如果它只扩展一次,我假设,计算机将加载整个python文件和它完全导入到内存中的所有模块?如果我从库中导入太多的原生python代码,会不会导致内存空间不足的问题?这就是为什么有些人说在你的程序中导入精确函数而不是通配符总是好的吗?
我想在命令行中分别运行两个Python脚本,script1.py导入Python模块和script2.py使用这些预导入的模块进行计算。这样做的原因是避免每次在bash中使用不同的输入参数运行script2.py时导入相同的模块/模型权重/etc(在script1.py中)。
在命令行中,我运行:>> python script1.py,后面跟着>> python script2.py,我得到这个Error: NameError: name 'cv2' is not defined,而它应该是在script1.py中导入的。
我该如何解决这个问题?
我正在尝试将一个python函数导入到另一个python while循环中。代码如下:
test.py
#!/usr/bin/python
import time
t = 15
print t
sleep_test.py
#!/usr/bin/python
import time
while True:
import test
time.sleep(10)
当我运行sleep_test.py时,打印15一次,然后循环挂起。我尝试在延迟10秒后连续打印15个字符。有没有人建议我如何用我提供的代码来完成这项工作?
在部署后在lambda函数中运行时,numpy包无法导入。我不知道问题是什么,但是numpy模块只是没有完成导入,出现了以下错误:
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
输出的版本如下:
* The Python version is: Python3.9 from "/var/lang/bin/python3.9"
* The NumPy version is: "1.22.0"
为了将包添加到lambda函数中,我正在使用Serverless
通常,我们正在检查脚本是否在主作用域中运行。
就像在Python:中一样,如下所示:
if __name__ == "__main__":
# execute only if run as a script
main()
这是简单和清楚的,但也有一个问题-缩进。
整个def main():有额外的缩进。
疼吗?我-是的,有点。
在Python中,我们对行长特别敏感。
这是很重要的,尊重空间每一次,而不仅仅是
写第79个字符的时候。
正因为如此,我想找个好方法来减少
多余的压痕
在我看来-有一个。也是简单,清晰和优雅。
if __name__ != "__