草庐IT

debug-eval

全部标签

python - 用于列表反序列化的 Python 'eval' 的安全性

在这种情况下是否会发生任何安全漏洞:eval(repr(unsanitized_user_input),{"__builtins__":None},{"True":True,"False":False})其中unsanitized_user_input是一个str对象。该字符串是用户生成的,可能很讨厌。假设我们的Web框架没有让我们失望,它是来自Python内置函数的真正诚实的str实例。如果这很危险,我们可以对输入采取任何措施以使其安全吗?我们绝对不想执行字符串中包含的任何内容。另见:FunnyblogpostaboutevalsafetyPreviousQuestionBlog:F

python - 在 Python 中,为什么在使用 `eval` 时不出现警告?

以下代码按预期打印警告:>>>importwarnings>>>deff():...warnings.warn('Deprecated',DeprecationWarning)...print('Infunctionf()')...>>>f()__main__:2:DeprecationWarning:DeprecatedInfunctionf()但是,使用eval时,不会出现警告信息:>>>eval('f()')Infunctionf()为什么警告在这两种情况下表现不同? 最佳答案 Whydowarningsbehavediffe

android - 使用 gradle 构建库项目时,BuildConfig.DEBUG 始终为 false

当我在Debug模式下运行我的应用程序时,BuildConfig.DEBUG不起作用(=逻辑上设置为false)。我使用Gradle来构建。我有一个图书馆项目,我在其中进行检查。BuildConfig.java在构建调试文件夹中如下所示:/**Automaticallygeneratedthefile.DONOTMODIFY*/packagecommon.myProject;publicfinalclassBuildConfig{publicstaticfinalbooleanDEBUG=Boolean.parseBoolean("true");}在发布文件夹中:publicstati

android - 使用 gradle 构建库项目时,BuildConfig.DEBUG 始终为 false

当我在Debug模式下运行我的应用程序时,BuildConfig.DEBUG不起作用(=逻辑上设置为false)。我使用Gradle来构建。我有一个图书馆项目,我在其中进行检查。BuildConfig.java在构建调试文件夹中如下所示:/**Automaticallygeneratedthefile.DONOTMODIFY*/packagecommon.myProject;publicfinalclassBuildConfig{publicstaticfinalbooleanDEBUG=Boolean.parseBoolean("true");}在发布文件夹中:publicstati

Python eval 在函数内部不起作用

这个问题在这里已经有了答案:Creatingdynamicallynamedvariablesinafunctioninpython3/Understandingexec/eval/localsinpython3(2个答案)关闭5年前。为什么Python的eval在函数内部不起作用?相同的eval(compile(cmd))代码在全局环境中工作,但在foo函数内部不起作用。简单的例子:fn='/tmp/tmp'mode='single'deffoo(cmd,fn,mode):eval(compile(cmd,fn,mode))#这是输出和错误信息:globalscope:cmd=x=1

Python:Hello world with Flask 给我一个与 app.run(debug=True) 相关的错误

这个问题在这里已经有了答案:PythonError:io.UnsupportedOperation:fileno(2个答案)关闭4年前。我是Flask的新手(对python也是新手),我尝试运行以下非常基本的脚本:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhome():return"Thisisthehomepage"if__name__=="__main__":app.run(debug=True)我在Windows10上使用Python3.6和IDLE。问题是我不断收到以下错误:Traceback(mostre

python - PyCharm。在 "Run/Debug Configuration"窗口中获取项目目录

我想与我的团队分享PyCharm运行/调试配置。我需要一种配置运行/调试配置的方法,以便它们也可以在其他计算机上工作。是否有动态获取项目目录的方法?有什么想法吗?也许有一种方法可以将"C:\PythonPlatform\Test\"更改为"${PROJECT_DIR}\Test"之类的东西,在"文件夹中"和"工作目录"字段?看图: 最佳答案 有所谓的Macros在PyCharm中包含$ProjectFileDir$描述为项目文件的目录。然而,它们似乎只能用于外部工具部分,不能用于运行/调试配置。但是,有一个非常相关的标题为Addsu

python - Flask 的 Pylint 误报 "app.logger": E1101: Method 'logger' has no 'debug' member (no-member)

使用flask的app.logger成员函数(如app.logger.error)导致pylint报E1101(no-member)错误,即使app.logger的这些成员是在运行时定义的。这可以通过使用以下文件进行复制:app.pyimportflaskapp=flask.Flask(__name__)@app.route('/')defsay_hello():app.logger.debug('Adebugmessage')app.logger.error('Anerrormessage')return'hello'requirements.txtpylint==2.1.0Flas

python - 如何在 Debug模式下将命令行参数从 VS 传递给 Python?

我正在使用适用于VisualStudio的Python工具。(注意,不是IronPython。)我需要处理从命令行传递给模块的参数。我看到了如何通过在代码窗口中右键单击并选择“从调试开始”来在调试中启动模块。但是这种方法从不提示我输入命令行参数,并且len(sys.argv)总是==1。如何在Debug模式下启动我的模块并将参数传递给它,以便sys.argv有超过1个成员? 最佳答案 这些步骤显示在此处链接的图像中:在VSCode中进入Debug模式点击设置图标(齿轮图标)。如果它不存在,这将创建一个launch.json在json

python - 尽管 __debug__ 为真,但条件 __debug__ 语句未执行

精简版我有一段正在调试的代码会检查__debug__的值并在它为True时执行一些代码。if__debug__:问题是“事情”永远不会发生,即使__debug__看起来是真的。长版/详细信息为了检查这一点,我使用以下模式在函数执行时将几个变量(最显着的__debug__)的值打印到一个文件中。(我正在使用os.open因为open已经在这个模块中定义了。)try:myfile=os.open("test.txt",os.O_RDWR|os.O_CREAT|os.O_APPEND)#work+someprintstatementstocheckthevalueof__DEBUG__fin