问题标签 [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 - c++ 版本的 python 的 exec() 函数
目标:exec()
使用与python
中的函数相当的某种函数执行一串c(++)代码。
python中的示例:
问题:
python中是否有c ++版本的exec?
python - 通过 exe 从 python 尝试时无法从数据库中获取信息
我已使用 cx_Freeze 库将我的 Python 应用程序转换为 .exe。现在,在我运行 exe 文件后出现 GUI,但它无法从数据库中获取数据,其他一切都在工作。当此应用程序在 python 环境中运行时,一切正常。
Python 3.7 版,数据库是 sqlite3 2.6.0 版。
请帮助我解决此问题。
python - Python函数定义变量失败
我已经运行了以下代码:
我的预期输出是分配变量' test_var_1912 '并打印出字符串“ abc ”。但是,Python 提示以下错误消息:
NameError:名称“test_var_1912”未定义
有人可以帮忙解决我的问题吗?
python - 如何将来自多个调用的依赖全局变量与独立的全局字典合并到 exec
此代码工作正常 - 它定义do_return
为全局,它定义do_proxy
为全局,并且可以在调用时do_proxy
解析。do_return
此代码不会:
它抱怨do_return
没有定义,即使有一个全局命名do_return
:
有没有办法合并来自多个调用的依赖全局变量,这些调用exec
在最初被调用时不共享相同的全局字典?
如果我global do_return
在内部调用也会发生同样的情况do_proxy
(尽管如果需要,我也希望第一个示例失败,同样需要它)。
python - Python 3 - 如何像直接替换一样执行字符串?
问题描述
我很好奇exec
函数中的字符串是否可以exec
直接替换(使用适当的缩进)。我知道在 99.9% 的情况下,您不应该使用exec
,但我更感兴趣的是是否可以这样做,而不是是否应该这样做。
我想要的行为相当于:
但我得到的是:
失败的尝试
NameError: name 'A' is not defined
当调用func()
sinceA
并且B
存在于exec_and_extract
'slocals()
但运行时的执行上下文时A
是B
' exec_and_extract
s globals()
。
NameError: name 'GLOBAL_CONSTANT' is not defined
A
当从内部调用时,因为是'sfunc()
的执行上下文不包含.A
exec_and_extract
locals()
GLOBAL_CONSTANT
有效但污染全局命名空间,不等效。
有效,但需要将exec_and_extract
's的全部内容复制globals()
到locals()
其中,如果很大,则浪费时间globals()
(当然不适用于这个人为的示例)。此外,与“粘贴代码”版本略有不同,因为如果其中一个参数exec_and_extract
碰巧是GLOBAL_CONSTANT
(一个糟糕的参数名称),则行为会有所不同(“粘贴”版本将使用参数值而这代码将使用全局常量值)。
进一步的限制
试图掩盖问题陈述中的任何“漏洞”:
- 该
exec_str
值应该代表可以访问全局或局部范围变量的任意代码。 - 解决方案不应要求分析在
exec_str
. - 后续调用之间不应该有“污染”
exec_and_extract
(在全局命名空间或其他地方)。即在这个例子中,执行不EXEC_STR
应该留给A
将来调用exec_and_extract
.
python-3.x - 在另一个脚本中执行独立的 python 脚本
我制作了一个 .py 文件(我称之为 acomp.py),它从 SQL 数据库中读取,经过一系列计算并将其输出导出到一个 excel 文件。后来我通过电子邮件将此 .xlsx 文件发送给不同的人.
我希望把它放在另一个 python 脚本中,这样我就可以使用 schedule 模块在选定的时间调用 acomp.py,运行它并通过电子邮件发送输出:
当第二个脚本调用第一个脚本时,它会与 acom.py 内部函数返回错误:
这个“modalidade_contrato”是在 acomp.py 中定义的,当我直接执行 acom.py 时它可以完美运行。
任何想法我应该如何进行?我认为我的整个策略并不常见,但我必须这样做,因为我在我的计算机上没有管理员权限。
python - 使用 exec 运行脚本时如何将 args 隐藏到 argparse?
我有 2 个文件,它们与子进程或 exec 一起runner.py
运行。
它们都有命令行选项。target.py
如果 runner 使用子进程运行目标,则可以:
如果 runner 使用exec运行目标代码(带有-e
选项):
命令行参数-e
被target.py
代码“看到”(只接受一个--dummy
选项)并引发错误。
使用 exec 运行脚本时,如何将 args 隐藏到 argparse?
这是代码:
跑步者.py
我试图用上面注释的选项隐藏全局变量,但没有运气。
似乎与argparse的工作方式有关。
目标.py
python - 如何获取python中exec()调用的函数的返回值?
我有一个名为 'somefunc' 的函数:
我想用 exec() 像这样运行它:
这很好用。但问题是,我无法获得返回值“ok”。我试过这样做:
但我什么都没有。我怎样才能得到返回值?