问题标签 [python-exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如果嵌套在函数中,listcomp 无法访问 exec 调用的代码中定义的本地变量
是否有任何 python 大师能够解释为什么这段代码不起作用:
错误:
虽然这个工作正常:
我知道它与局部变量和全局变量有关,就好像我将 exec 函数从我的主范围传递给局部变量和全局变量一样,它工作正常,但我不完全理解发生了什么。
这可能是 Cython 的错误吗?
编辑:用 python 3.4.0 和 python 3.4.3 试过这个
python - 删除不必要的 exec 语句以提高速度
我正在尝试重构我可以使用的一些 python 代码。开发人员经常使用 exec 语句,但用于非常简单的任务,例如
我最重要的问题是我们需要 exec 来进行那些简单的变量赋值吗?使用 exec 来完成这些简单的任务需要花费吗?Appart for code 看起来不好,还有什么其他原因我们不应该将 exec 用于这种目的吗?
python - 将 python exec 访问权限限制为一个目录
我有一个 python 脚本,它使用exec函数执行一串代码。我需要一种方法来限制脚本对当前目录的读/写访问。我怎样才能做到这一点?
或者,有没有办法直接通过命令行限制 python 脚本的环境,这样当我运行解释器时,它不允许从目录中写入?我可以使用 virtualenv 做到这一点吗?如何?
所以基本上,我的应用程序是一个门户网站,人们可以在其中编写和执行 python 应用程序并获得响应——我已经将它托管在 heroku 上。现在可能有多个用户拥有多个文件夹,并且没有用户应该有权访问其他人的文件夹甚至系统文件和文件夹。权限应由 nodejs 应用程序(Web 应用程序)上的用户而不是本地用户确定。我该如何做到这一点?
python - 为什么 Python 3 exec() 在指定本地时会失败?
在 Python 3 中执行以下操作没有错误:
但是,如果我也尝试捕获局部变量 dict ,它会失败并显示NameError
:
为什么会发生这种情况,如何在捕获全局变量和局部变量的同时执行此代码?
python - 如何在这个 tkinter/exec()/cffi 组合中修复这个堆栈溢出?
我有一个 Python 驱动的 DSL,我通过exec()
. 此 DSL 包括通过 CFFI 进行的本机函数调用。
当调用一个只有 2 个 C 调用深度的本机函数时,我遇到了堆栈溢出(所以,你让它变得不可用!)崩溃uint16_t
,每个 C 函数的堆栈上只分配了少数 s 。Python 应用程序是一个tkinter
GUI,它通过 timer () 事件调用 DSL master.after(1000, self.tick)
,这可能会占用堆栈本身的很大一部分。
这里没有递归调用。
OS X 10.12.3,Python 3.6.0rc1(v3.6.0rc1:29a273eee9a5,2016 年 12 月 6 日,16:24:13),CFFI 1.9.1
我知道resource.setrlimit(resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY))
,但它需要超级用户权限。我相信这不是必需的,因为只剩下一个堆栈用于两个函数调用是不正常的。
CFFI 或 exec() 会限制被调用者的堆栈大小吗?
从 DSL 调用的函数:
exec
调用代码:
苹果报告片:
(此线程真的到此结束,Apple 报告中没有其他内容)
python - cx_freeze Matplotlib 问题
似乎有一些人正在努力构建使用 Matplotlib 库的 Python 可执行文件。
我正在使用 CX_Freeze 并且可以在没有图形的情况下为我的 GUI 创建可执行文件,但是当添加带有 matplolib 库的图形时,当我尝试运行可执行文件时出现错误:
有没有人设法让这个工作?
python - exec 函数在 python 3.6 中无法正常工作
我写的代码
输出我期望的
0 之前
1 之后
输出我
在 0 之前得到的 0
之后
如果我编写没有函数的代码,它会给出预期的输出
我想问如何更正此代码,以便获得预期的输出。另外,我不允许使用列表和字典。
python - exec 的作用域规则是什么?
我(在我看来)对 Python 范围规则有一些基本的了解(基于对这个答案的研究)。
我还从关于 的文档中exec
了解到,它采用globals
和locals
作为可选参数,并且:
在所有情况下,如果省略了可选部分,则代码将在当前范围内执行。
注意:以下所有示例均假定使用 Python 3。
话虽如此,我最近偶然发现了这个案子,这让我有点困惑:
运行上面的代码会导致:
在这里,很明显可以exec
访问test
s locals(passed_data
和 'local_result')。
尽管如果我们尝试更改其中任何一个:
这将导致:
global
在里面使用exec
:
给出相同的结果(当然,因为local_result
在 的范围内是本地的test
):
是什么使我们能够local_result
通过exec
- 定义它使用global
:
这给了我们:
在我看来,我只是缺少对 Python 作用域或 的机制的一些基本了解exec
,无法掌握这种情况。
不过,我想了解以下内容:
- 为什么
exec
能够从函数范围打印变量,而不使用global
,但不能改变它? - 我的理解是(给定
globals
和locals
被省略)exec
将在调用它的范围内执行任何 Python 代码,就好像这段代码只是在源代码中(没有exec
),我在哪里(以及如何)在这个假设中错了?
PS:我知道更改局部变量 viaexec
不是“正确的做法”,我exec
只是为了学习而寻求对范围规则的理解。
python - 创建动态函数时编译的效果是什么?
在搜索在 python 中创建动态函数时,我最终得到以下代码。
作为 python 指南,它建议不要使用 eval 和 exec 来进行良好的编程。因此,上面的代码是有效的还是对程序的性能有任何问题?
python - python中exec内的赋值
我正在尝试使用 PyQt5 构建计算器,我得到了我需要评估的字符串并将其分配给一个变量,以便我可以将该变量作为答案传递给小部件。到目前为止,我可以评估表达式,但不能评估它。我怎样才能做到这一点 ?到目前为止,我有以下代码:-
当我尝试在没有全局的情况下运行它时,它运行时没有错误,但 x 仍然为 0,如果我这样运行它,我会收到此错误:-
我对python很陌生所以不知道发生了什么