问题标签 [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 投票
1 回答
50 浏览

python - 函数体中的 Python NameError

我有两个 python 代码块,一个有效,另一个无效。


工作块:

输出:

xyz


该块不起作用:

输出:

NameError:未定义名称“用户”


我看到的唯一区别是第一个块是在全局范围内调用的。

你能解释一下吗?

非常感谢!

PS:恕我直言,我知道,我应该避免使用 exec() 但如果我想怎么办。

0 投票
0 回答
66 浏览

python - 为什么在运行字节码时 Python exec 中的局部变量会丢失?

我已经构建了一个函数foo,用于在字节码级别更改函数的代码并在返回常规函数执行流程之前执行它。

但是,在 期间对局部变量的评估存在问题exec

main_locals如果我在调用它之前打印exec它会显示与调用之前完全相同的内容foo。我想知道它是否与frame.f_code.co_*传递给CodeType构造函数的任何参数有关。它们几乎相同,除了实际的 bytecode frame.f_code.co_code,我对其进行了一些操作。

我需要帮助来理解为什么在这些全局变量和局部变量下对代码的评估无法引用main's 的局部变量。

注意:我很确定对main's 字节码所做的更改可以防止进程进入不必要的递归。

编辑:do_something如评论中所问,可以恢复的基本行为以main在调用foo. 一些额外的步骤将涉及对局部变量应用更改,即bar.

0 投票
2 回答
112 浏览

python - 如何在 python tkinter 中运行当前打开的文件?

我有这个用 python tkinter 编写的程序,它有一个文本框和一个菜单。菜单有两个选项,打开文件和运行文件。

打开的文件允许您打开 python 文件并将文件的内容写入文本框中。运行文件会打开一个文件对话框,让您选择要运行的 python 文件。

我试图这样做,以便当您按下运行文件按钮时,程序将运行当前打开的文件,而不是创建一个要求您选择要运行的文件的新文件对话框。但是,我在执行此操作时遇到了问题。

到目前为止,这是我的代码:

除了OpenFileToRun = filedialog.askopenfile(mode="r", title="Select Python File to Run") exec(OpenFileToRun.read())在 RunPythonFile 函数中,还有什么可以让程序只运行当前打开的文件吗?

0 投票
1 回答
49 浏览

python - 函数中的命令执行,名称错误 - python3

我是 Python 的初学者,我遇到了一个我无法理解的问题。我试图用 exec() 定义一个变量,然后打印它。它运作良好。但是当我在函数中执行相同的代码时,它不起作用......

例子 :

同样的事情,但在函数中没有结果,命令 print(proba11) 返回 [0,1,2,3] 所以它可以工作。但对于我得到这个的例子:

没有关于全球人或本地人的故事,一切都是本地人......

0 投票
0 回答
29 浏览

python - ipython 中 python exec() 函数的意外行为

所以我在 ipython 中使用 exec() 函数。我制作了这个函数 hardshell(),它在循环中执行来自终端输入的命令。

我的目标是创建一个可以执行各种命令的循环,除了仅在特定退出命令“shellbreak”的帮助下退出循环

在进行了一些实验之后,出现了一个奇怪的行为,其中不仅退出了循环,而且 ipython 本身也退出了。我设法重现了这种情况,但是如果我遗漏了一些命令,这似乎与 ipython 的崩溃没有任何关系

这是来自我的 ipython 控制台的代码:

所以我想知道打开和关闭文件“temp.py”的哪一部分可能与ipython在这里崩溃有关,特别是如果可以在没有退出短语“shellbreak”的情况下退出循环

0 投票
1 回答
165 浏览

python - Azure 认知服务和 Python 可执行文件

我正在创建一个使用 Azure 认知服务的语音方面的程序。当我仅使用控制台打印部署可执行文件(.exe)时,它可以按预期工作。该程序与 VS Code 环境中的 Azure Voice 完美配合,但一旦将其部署为可执行文件 (.exe),它就会完全出错,并出现以下错误:

我尝试重新安装所有依赖项

0 投票
1 回答
32 浏览

python - 如何将范围扩展到执行函数?

我有一个包含多个函数定义的模块对象。这是一个简化的例子。

源代码(组成模块“my_module”)

该模块是用 imp 构建的(我知道它已被贬值,但我的应用程序仍在 python 3.5 上)

我正在尝试functionB()使用exec完整模块__dict__并将其作为本地字典传递。(我也尝试将它作为全局字典传递,但没有任何运气)

我看到的错误是NameError: name 'functionA' is not defined

是否可以将本地(甚至全局)范围扩展到执行功能?

0 投票
1 回答
23 浏览

python - 执行函数,保存方法/类/变量 -> 方法

我正在编写一个用于创建较小的 python 模块的库。我不确定我是否应该使用 compile() 而不是 exec(),它当前执行文件(执行全局范围内的任何基本代码)但没有存储为函数中的方法,以后可以通过不同的文件ETC ... . 它将python文件加载为字符串

基本使用示例

这是代码

这是控制台输出,我正在使用 Python IDLE 来测试它。

控制台输出

控制台截图

0 投票
1 回答
29 浏览

python - 如何使用 exec Python 从 txt 文件中获取函数值

我想从 txt 文件执行 python 代码并存储它。

在 txt 文件中,我有以下代码:

在蟒蛇中: