开发者社区> 问答> 正文

请问Python SDK输出到控制台的log记录如何去掉?

image.png 我已经把debug参数设置成了False,但是调用do_with_exception()后,控制台还是会输出debug的log info,请问如何去掉? image.png

展开
收起
游客lc2wqd37fgwry 2020-10-20 16:31:22 1222 0
1 条回答
写回答
取消 提交回答
  • 执行一行Python语句,会立刻返回执行结果。

      当Python控制台输入过多的Python语句时,有时需要将这些已经输入的语句和执行结果清空,并重新开始输入Python语句。例如,下图就是一个输入了多条Python语句,并输出相应结果的Python控制台。 。

    image

      当然,如果不想看到这些Python语句和输出结果,可以一直按“回车” 键,直到Python控制台中所有的内容都移到窗口上面为止。不过这样以来,光标还是在Python控制台的最下面,而且上面都是Python控制台的命令提示符,非常难看,如下图所示。

    image

      如果读者用的是Mac OS X系统,在Python控制台中直接按Ctrl+L键就可以直接清空Python控制台。而在Windows中,是没有快捷键用来清空Python控制台的,所以需要我们编写Python代码来实现清空Python控制台的功能。因此,本节的目的到现在已经很清楚了,本节主要并不是教大家如何清空Python控制台,而是借用清空Python控制台这一操作,利用前面两节介绍的导入模块和声明变量的知识,编写一段Python程序,用来清空Python for Windows控制台。

      在Windows下,如果要清空Windows控制台,执行cls命令即可。由于Python控制台是利用Windows控制台实现的,所以cls命令也同样可以清空Python控制台。不过在Python控制台不能直接执行cls命令。在Python控制台要想执行外部命令,需要调用os模块中的system函数。读者可以一行一行在Python控制台输入下面的代码。

    import os # 导入os模块 os.system('cls') # 执行cls命令清空Python控制台   执行这两行代码,是把以前在Python控制台中输入的内容都清空了,但在Python控制台的第1行会输出一个“0”,如下图所示。

    image

      其实这个“0”是os.system函数的返回值。Python控制台会输出每一条执行语句的返回值。os.system函数如果成功执行命令,返回“0”,如果执行命令失败,返回“1”。不过为了最求完美,现在就把这个“0”去掉。

      之所以会输出这个“0”,是因为Python语言的标准输出默认指向的是Python控制台,所以所有的Python语句执行的结果都输出到了Python控制台。现在只要改变Python语言的标准输出,让其指向一个文件,那么os.system函数的执行结果就会直接写到这个文件中,而不是Python控制台了。

      下面的例子会编写一个Python程序,用于清空Python控制台。 清空Python控制台不输出“0”的步骤如下:

    (1)导入os模块和sys模块。

    (2)使用open函数以可写的方式打开一个文件,本例是out.log。

    (3)为了不影响在Python控制台输出其他语句的执行结果,应先将Python默认的标准输出保存到一个变量中,以便以后恢复默认的Python标准输出。使用sys.stdout可以获取Python标准输出的句柄(Handler)。

    (4)将Python标准输出指向第2步打开的文件。

    (5)使用os.system函数执行cls命令。

    (6)恢复Python默认的标准输出。

    2021-02-24 09:11:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTS控制台一本通 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载