例如:
如果我写
import math
我不擅长编程。为了让程序运行,它必须将代码加载到内存中,并转换为计算机可以理解的0和1。那么,当在我的程序中引用该模块中的任何函数时,它会加载整个数学模块,还是只在程序中展开该模块一次?如果它只扩展一次,我假设,计算机将加载整个python文件和它完全导入到内存中的所有模块?如果我从库中导入太多的原生python代码,会不会导致内存空间不足的问题?这就是为什么有些人说在你的程序中导入精确函数而不是通配符总是好的吗?
我有一个使用Python的集群系统,并在该系统上安装了一些模块-但是我想使用该模块的最新版本-它有几个方法在旧版本中不存在,所以我构建了它,它是我可以访问的区域的本地dep:
# From my home directory: /gpfs/env/yrq12edu
# Get the source I need for the up to date version of the module I want to install locally.
svn co svn://svn.code.sf.net/p/simupop/code/trunk simuPOP
# Install PCRE
我正在尝试用python构建一种脚本系统,它允许在python中选择并在运行时执行一小段代码。
本质上,我希望能够加载一个小的python文件,比如
for i in Foo: #not in a function.
print i
在程序中的其他地方,我指定Foo将是什么。就好像Foo充当整个加载的python文件的函数参数,而不是单个函数。
所以在别的地方
FooToPass = GetAFoo ()
TempModule = __import__ ("TheSnippit",<Somehow put {'Foo' : FooToPass} i
我读过Mark的“学习编程Python”。他写道:
模块在第一个导入或从中加载并运行,并且仅在第一个导入时运行。这是故意的,因为导入是一项昂贵的操作,默认情况下,Python只在每个文件、每个进程执行一次。以后的导入操作只需获取已经加载的模块对象。
因此,如果我有两个包a和b,并且我写的语句:
import a
import b
这到底是做什么的?这不是装b包吗?是进口两次吗?
背景
我登录到服务器进行科学计算。它运行的是“科学Linux 7.4版”。
为了访问不同的软件,我必须运行像‘模块加载x’这样的命令。例如,要使用python,我需要编写‘模块加载python’。我对这个模块系统不太了解,但据我所知,它只是修改了一些环境变量。输入“模块显示python”显示
module-whatis This module sets up PYTHON 3.6 in your environment.
conflict python
append-path MODULEPATH /global/software/sl-7.x86_64/mod
我正在尝试在C#代码中导入Python模块,如下所示:
var setup = Python.CreateRuntimeSetup(null);
var runtime = new ScriptRuntime(setup);
var engine = Python.GetEngine(runtime);
var module = engine.ImportModule("mymodule");
但是我得到一个错误提示“没有命名为signal的模块”,这是不是意味着IronPython不能加载signal模块,是不是