问题标签 [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.

0 投票
2 回答
126 浏览

python - 在 Python 3 中从字符串定义方法并引用为方法

我需要允许用户定义一个处理对象中数据的函数(其中的智慧和安全含义已经在另一个问题中详细讨论过,这里只是重复的评论。)

我希望该功能像任何其他方法一样起作用。那是

将被调用:

我几乎在下面实现了这一点,只是需要将结果函数self作为参数显式传递,而不是像方法典型的那样将其作为第一个参数接收。

p你可以在我有奇怪self.process(self)电话的属性中看到这一点。

我想我需要提供一些东西exec,比如globals()字典,但我不确定几件事:

  1. 这个对吗?
  2. 什么是globals()类中的等价物?
  3. 这能解决问题吗?如果不是,我需要做什么?

所以问题是,如何让exec()定义的函数充当对象的方法?

0 投票
2 回答
119 浏览

python - 是否可以从函数中访问 exec 提供的全局字典?

如果函数是在 exec 代码之外定义的(因此已经绑定到 different __globals__),是否可以从函数内访问 exec 提供的全局字典?

换句话说,有没有办法让下面的例子工作?

一般来说,是否可以替换__globals__函数?

0 投票
1 回答
168 浏览

python - 使用 exec 导入特定模块的优缺点?

我想找出使用exec​​进口的缺点。其中一个文件用作特定功能的实际实现的接口,具体取决于所选项目(框架旨在用于多个项目)。

第一个用例是这样的:

project这样,除了在接口模块本身中注入的变量之外,我不必对任何东西进行硬编码。

这是另一种方式:

这样,每次添加新项目以支持时,我都必须更改此接口文件。

0 投票
1 回答
1503 浏览

python - 为什么我用 exec() 得到“NameError: name is not defined”?

当我在控制台(在 PyCharm 中)中尝试此代码时:

它工作正常。但是当我尝试在我的程序中做同样的事情时它不起作用,我得到了异常

我发现这段代码不会引发错误:

但我不明白为什么。

这是怎么回事?

0 投票
1 回答
49 浏览

python - 有限的执行:不能为变量分配新值?

有这个代码:

为什么它会忽略我的x += 5表情?通过将 globals/locals on 限制为我删除的其他内容exec,因此它不允许更改变量吗?

PS虽然如果我修改字典它确实有效。它可能与不可变类型有关吗?

0 投票
2 回答
155 浏览

python - Python 在 exec() 之后找不到执行的函数

即使在执行后我也找不到执行的功能。

这是功能:

但是,这会产生错误:

我真的很想像上面的模式那样执行一个字符串函数。有谁知道如何解决它?如果不推荐 exec,还有其他解决方案吗?

0 投票
1 回答
24 浏览

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_entityAPI?

0 投票
2 回答
109 浏览

python - 字典方法而不是 exec 方法

我有以下变量:

这几乎是我定义的函数的输出。

毫无疑问,我知道我的函数的输出将始终是 JointFlag 和 Strategy。至于输出中的其他变量,它们可能存在也可能不存在(甚至可能有更新的变量或以不同的顺序!)

我听说字典是比 exec 更好的方法,我只是想知道如何解决这个问题。

在我定义的函数的末尾,它将具有以下字符串:

这是我目前正在使用的 exec 命令。

0 投票
1 回答
166 浏览

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

0 投票
1 回答
49 浏览

python-3.x - exec:名称未定义,但之前在同一代码中工作

我在使用 exchangelib 创建将目录和邮件导出到另一个帐户的脚本时遇到了这个问题。

当我使用“exec”运行代码时,它会返回未定义但之前在相同代码中运行的代码。

这部分不起作用:

这部分就在它的正上方并且确实有效。这也指“naar_account”:

这也有效:

即使重命名它也可以工作,而且它说重命名的部分没有定义:

完整代码: