草庐IT

Hap-Eval

全部标签

linux - eval $(docker-machine env myvm1) 不切换到 shell 与 myvm1 对话

伙计们,我在这里学习Docker教程:https://docs.docker.com/get-started/part4/#configure-a-docker-machine-shell-to-the-swarm-manager并在运行此特定命令时遇到阻力:eval$(docker-machineenvmyvm1)我实际上正在运行(如上,但添加了sudo)。eval$(sudodocker-machineenvmyvm1)我没有从命令行得到任何输出来告诉我任何事情已经完成以及我什么时候运行:sudodocker-machinels我看到myvm1确实不具有预期的事件状态。我知道这一步

python eval vs ast.literal_eval vs JSON解码

我将2MB的数据作为字符串转换为字典。输入以JSON序列化。无论如何,我目前正在使用ast.literal_eval并且我得到了我想要的字典,但是当我尝试仅运行eval时,它似乎运行得更快,并且还返回了相同的结果。当eval工作正常时,是否有任何理由使用ast模块或json模块? 最佳答案 我不太喜欢stackoverflow(和其他地方)的这种态度,在没有任何上下文的情况下告诉人们他们正在做的事情是不安全的,他们不应该这样做。也许只是一个一次性的脚本来导入一些数据,那么为什么不选择最快或最方便的方式呢?然而,在这种情况下,json

python - eval 导入模块

我无法使用eval()函数导入模块。所以,我有一个函数,如果我执行importvfs_testsasv它可以工作。但是,像eval('importvfs_testsasv')这样使用eval()的相同导入会引发语法错误。为什么会这样? 最佳答案 使用执行:exec'importvfs_testsasv'eval仅适用于表达式,import是一个语句。exec是Python3中的一个函数:exec('importvfs_testsasv')要使用字符串导入模块,您应该使用importlib模块:importimportlibmod=i

Python:加快重复执行的 eval 语句的方法?

在我的代码中,我使用eval来评估用户给出的字符串表达式。有没有办法编译或以其他方式加速这个语句?importmathimportrandomresult_count=100000expression="math.sin(v['x'])*v['y']"variable=dict()variable['x']=[random.random()for_inxrange(result_count)]variable['y']=[random.random()for_inxrange(result_count)]#optimizeanythingbelowthislineresult=[0]*

python - ValueError : malformed string when using ast. literal_eval

众所周知,使用eval()存在潜在的安全风险,因此使用ast.literal_eval(node_or_string)升职了但是在python2.7中,它在运行这个例子时返回ValueError:malformedstring:>>>ast.literal_eval("4+9")而在python3.3中,此示例按预期工作:>>>ast.literal_eval('4+9')13为什么它在python3而不是python2上运行?如何在不使用有风险的eval()函数的情况下在python2.7中修复它? 最佳答案 这在Python2上

python - 通过 Python 的 eval() 运行 JSON?

除了最佳实践,是否有令人信服的理由不这样做?我正在编写一个用于Google代码项目的提交后Hook,该项目通过JSON对象提供提交数据。GC会随请求提供HMAC身份验证token(在JSON数据之外),因此通过验证该token,我可以高度确信JSON数据既是良性的(因为不信任Google没有什么意义)并且是有效的。我自己的(简要)调查表明,JSON恰好是完全有效的Python,除了"\/"转义序列—GC似乎不会生成它。所以,当我使用Python2.4(即没有json模块)时,eval()看起来真的很诱人。编辑:郑重声明,我非常不询问这是否是个好主意。我非常知道它不是,我非常怀疑我是否会

python - 为什么 python 的 eval 有长度限制?

我并不主张这将是一个好主意,但我发现您可以通过在足够大的输入字符串上运行eval来使Python崩溃(检查2.7和3.2):defkill_python(N):S='+'.join((str(n)forninxrange(N)))returneval(S)在我的计算机上S可以很好地生成,但是对于大约N>74900的值,Python将失败并出现Segmentationfault(coredumped)。解释器可以处理的字符串(或解析树)的长度是否有限制?注意:我不需要这样做,对我来说这是一个更深层次的问题,反射(reflect)出我对盒子里发生的事情一无所知。我想了解为什么Python在

Python 3,ast.literal_eval(node_or_string) 中是否有任何已知的安全漏洞?

ast.literal_eval(node_or_string)有什么已知的方法吗?的评估实际上并不安全?如果是,是否有可用的补丁?(我已经知道PyPy[sandbox],它可能更安全,但除非答案是肯定的,否则我的需求很小,我不会走那么远。) 最佳答案 documentation声明它是安全的,并且在bugtracker中没有与literal_eval的安全性相关的错误。,所以你可以假设它是安全的。另外,accordingtothesource,literal_eval将字符串解析为pythonAST(源树),并且仅当它是文字时才返

Python:使 eval 安全

这个问题在这里已经有了答案:Pythoneval:isitstilldangerousifIdisablebuiltinsandattributeaccess?(6个回答)关闭6年前。我想要一种在Python中创建“计算器API”的简单方法。现在我不太关心计算器将支持的确切功能集。我希望它接收一个字符串,比如"1+1"并返回一个带有结果的字符串,在我们的例子中是"2"。有没有办法让eval对这样的事情安全?一开始我会这样做env={}env["locals"]=Noneenv["globals"]=Noneenv["__name__"]=Noneenv["__file__"]=None

python - Lisp 的 read-eval-print 循环与 Python 的有何不同?

我遇到了以下statementbyRichardStallman:'WhenyoustartaLispsystem,itentersaread-eval-printloop.Mostotherlanguageshavenothingcomparabletoread,nothingcomparabletoeval,andnothingcomparabletoprint.Whatgapingdeficiencies!'现在,我很少用Lisp进行编程,但我已经用Python编写了大量代码,最近还用Erlang编写了一些代码。我的印象是这些语言也提供read-eval-print循环,但Sta