问题标签 [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 - 在 Python 3 中从字符串定义方法并引用为方法
我需要允许用户定义一个处理对象中数据的函数(其中的智慧和安全含义已经在另一个问题中详细讨论过,这里只是重复的评论。)
我希望该功能像任何其他方法一样起作用。那是
将被调用:
我几乎在下面实现了这一点,只是需要将结果函数self
作为参数显式传递,而不是像方法典型的那样将其作为第一个参数接收。
p
你可以在我有奇怪self.process(self)
电话的属性中看到这一点。
我想我需要提供一些东西exec
,比如globals()
字典,但我不确定几件事:
- 这个对吗?
- 什么是
globals()
类中的等价物? - 这能解决问题吗?如果不是,我需要做什么?
所以问题是,如何让exec()
定义的函数充当对象的方法?
python - 是否可以从函数中访问 exec 提供的全局字典?
如果函数是在 exec 代码之外定义的(因此已经绑定到 different __globals__
),是否可以从函数内访问 exec 提供的全局字典?
换句话说,有没有办法让下面的例子工作?
一般来说,是否可以替换__globals__
函数?
python - 使用 exec 导入特定模块的优缺点?
我想找出使用exec
进口的缺点。其中一个文件用作特定功能的实际实现的接口,具体取决于所选项目(框架旨在用于多个项目)。
第一个用例是这样的:
project
这样,除了在接口模块本身中注入的变量之外,我不必对任何东西进行硬编码。
这是另一种方式:
这样,每次添加新项目以支持时,我都必须更改此接口文件。
python - 为什么我用 exec() 得到“NameError: name is not defined”?
当我在控制台(在 PyCharm 中)中尝试此代码时:
它工作正常。但是当我尝试在我的程序中做同样的事情时它不起作用,我得到了异常
我发现这段代码不会引发错误:
但我不明白为什么。
这是怎么回事?
python - 有限的执行:不能为变量分配新值?
有这个代码:
为什么它会忽略我的x += 5
表情?通过将 globals/locals on 限制为我删除的其他内容exec
,因此它不允许更改变量吗?
PS虽然如果我修改字典它确实有效。它可能与不可变类型有关吗?
python - Python 在 exec() 之后找不到执行的函数
即使在执行后我也找不到执行的功能。
这是功能:
但是,这会产生错误:
我真的很想像上面的模式那样执行一个字符串函数。有谁知道如何解决它?如果不推荐 exec,还有其他解决方案吗?
python - Python:从包含表达式的字符串动态初始化类成员
这是一个非常普遍的场景,但是为了给出一些上下文,假设我正在使用cvxpy进行一些约束优化。现在说我想在运行时提供目标函数,func
如下所示:
当然,示例中的函数是人为的,只是为了给您一个示例,说明我愿意提供什么样的字符串表达式作为命令行参数,只是为了避免硬编码东西/一直更改源代码. 如何func
在运行时用新值覆盖该成员的值?我读到了exec
,但我不确定这是否有帮助。简而言之,我愿意做类似的事情,python my_awesom_prog.py "self.n[i]*self.n[j] for i in range(self.K) for range(self.K)"
并且我希望程序表现得好像这个(可怕的)字符串func
首先作为定义存在。编辑:更重要的是,我想要一个这样的方法:
现在,如何获取该interpret_as_cvxpy_entity
API?
python - 字典方法而不是 exec 方法
我有以下变量:
这几乎是我定义的函数的输出。
毫无疑问,我知道我的函数的输出将始终是 JointFlag 和 Strategy。至于输出中的其他变量,它们可能存在也可能不存在(甚至可能有更新的变量或以不同的顺序!)
我听说字典是比 exec 更好的方法,我只是想知道如何解决这个问题。
在我定义的函数的末尾,它将具有以下字符串:
这是我目前正在使用的 exec 命令。
python-3.x - Pyinstaller adddata query
When I am trying to converting my python file into executable and binding with pdf with using command add-data. My pdf file is store no where due to this I cannot open my pdf file while opening executable.(yes, but command will create executable properly but there storing of pdf in default temp directory).
command:
P.s:- I tried to popen my file through my code but pdf is storing nowhere so, I cannot execute popen command
python-3.x - exec:名称未定义,但之前在同一代码中工作
我在使用 exchangelib 创建将目录和邮件导出到另一个帐户的脚本时遇到了这个问题。
当我使用“exec”运行代码时,它会返回未定义但之前在相同代码中运行的代码。
这部分不起作用:
这部分就在它的正上方并且确实有效。这也指“naar_account”:
这也有效:
即使重命名它也可以工作,而且它说重命名的部分没有定义:
完整代码: