Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从shell运行python脚本并保留已定义的模块/数据_Python_Shell_Module_Terminal - Fatal编程技术网

从shell运行python脚本并保留已定义的模块/数据

从shell运行python脚本并保留已定义的模块/数据,python,shell,module,terminal,Python,Shell,Module,Terminal,我是Python新手,我想知道如何保存从Python shell运行的脚本中的模块和数据 例如:我有一个脚本helloworld.py,它包含: import numpy as donkey a = 55 然后我想从Python shell中运行该脚本: execfile('helloworld.py') 然而,如果我尝试调用“a”或“驴子”,它们就找不到了。 我怎样才能解决这个问题呢?我假设您正在使用IDLE。IDLE不是Unix意义上的shell。因此,bashshell~/并没有直接的

我是Python新手,我想知道如何保存从Python shell运行的脚本中的模块和数据

例如:我有一个脚本helloworld.py,它包含:

import numpy as donkey
a = 55
然后我想从Python shell中运行该脚本:

execfile('helloworld.py')
然而,如果我尝试调用“a”或“驴子”,它们就找不到了。
我怎样才能解决这个问题呢?

我假设您正在使用IDLE。IDLE不是Unix意义上的shell。因此,bashshell
~/并没有直接的等价物。bash_配置文件

相反,我编辑文件,然后使用F5运行模块。我所有的变量、函数和类都被加载。我可以使用解释性shell进行操作。但是,如果运行另一个模块,则会重置环境,从而丢失第一个模块的定义

execfile()方法仅限于Python 2,如下所述:

为什么要用
execfile
运行它?我还可以使用其他功能吗?我的脚本很大,这就是为什么我想在开始时运行所有东西,然后能够访问我定义的函数/模块等。为什么不直接导入它呢?好的,我应该如何执行导入的脚本?你是什么意思?脚本顶层的所有代码(除非由
保护,如果uuuu name\uuuuu=='\uuuu main\uuuu':
)将在导入时执行。