Tag: 标准输出

logging器configurationlogin到文件并打印到标准输出

我正在使用Python的日志logging模块来logging一些debuggingstring到一个文件工作得很好。 现在,另外,我想使用这个模块也打印到标准输出的string。 我该怎么做呢? 为了将我的stringlogging到一个文件,我使用下面的代码: import logging import logging.handlers logger = logging.getLogger("") logger.setLevel(logging.DEBUG) handler = logging.handlers.RotatingFileHandler( LOGFILE, maxBytes=(1048576*5), backupCount=7 ) formatter = logging.Formatter("%(asctime)s – %(name)s – %(levelname)s – %(message)s") handler.setFormatter(formatter) logger.addHandler(handler) 然后调用一个logging器函数 logger.debug("I am written to the file") 谢谢你在这里的帮助!

VBscript代码捕获stdout,而不显示控制台窗口

这是一个VBScript代码示例,显示如何捕捉命令行程序发送到标准输出的任何内容。 它执行命令xcopy /? 并在消息框中显示输出。 在消息框出现之前,一会儿你会看到控制台窗口popup。 Set objShell = WScript.CreateObject("WScript.Shell") Set objExec = objShell.Exec("xcopy /?") Do line = objExec.StdOut.ReadLine() s = s & line & vbcrlf Loop While Not objExec.Stdout.atEndOfStream WScript.Echo s 这是另一个VBScript代码示例,显示如何执行脚本而不显示控制台窗口。 objShell.Run "c:\temp\mybatch.bat C:\WINDOWS\system32\cmd.exe", 0 要么 objShell.Run "c:\temp\myscript.vbs C:\WINDOWS\system32\cscript.exe", 0 正如你所看到的,它的forms是<script><space><executor> 。 最后一个示例使用objShell.Run而不是objShell.Exec 我不知道的是如何执行一个命令行程序(如果需要从一个batch file中),捕获标准输出,而不显示控制台窗口。 有任何想法吗?

删除Python中的最后一个STDOUT行

我想弄清楚如何抑制标准输出上的用户input显示。 后跟任何打印语句的raw_input()都会保留用户input的内容getpass()不显示用户键入的内容,但它保留“Password:”提示符。 为了解决这个问题,我想只删除最后一行(这将从行尾删除换行符)。

如何检查标准input是否有一些数据?

在Python中,你如何检查sys.stdin是否有数据? 我发现os.isatty(0)不仅可以检查标准input是否连接到TTY设备,而且如果有数据可用。 但是如果有人使用这样的代码 sys.stdin = cStringIO.StringIO("ddd") 之后使用os.isatty(0) ,它仍然返回True。 我需要做什么来检查标准input是否有数据?

如何将STDOUTredirect到PHP中的文件?

下面的代码几乎可以工作,但这不是我真正的意思: ob_start(); echo 'xxx'; $contents = ob_get_contents(); ob_end_clean(); file_put_contents($file,$contents); 有没有更自然的方式?

如何禁用和重新启用在Python中的控制台日志logging?

我正在使用python 日志logging模块,我想禁用一段时间的控制台日志logging,但它不起作用。 #!/usr/bin/python import logging logger = logging.getLogger() # this gets the root logger # … here I add my own handlers #logger.removeHandler(sys.stdout) #logger.removeHandler(sys.stderr) print logging.handlers # this will print [<logging.StreamHandler instance at …>] # but I may have other handlers there that I want to keep logger.debug("bla bla") 上面的代码在stdout上显示“bla bla”,我不知道如何安全地禁用控制台处理程序。 我怎样才能确定我暂时删除了控制台stream处理程序,而不是另一个?

如何在Perl中捕获stderr,stdout和退出代码?

是否有可能从Perl运行外部进程,捕获它的stderr,stdout和进程退出代码? 我似乎能够做到这些的组合,例如使用反引号获取标准输出,IPC :: Open3捕获输出,和system()获得退出代码。 如何一次捕获stderr,stdout和退出代码?

在Python中静音一个函数的标准输出,而不是废弃sys.stdout并恢复每个函数调用

有没有办法在Python沉默标准输出没有包装像以下函数调用? 原始的破碎的代码: from sys import stdout from copy import copy save_stdout = copy(stdout) stdout = open('trash','w') foo() stdout = save_stdout 编辑:从Alex Martelli更正的代码 import sys save_stdout = sys.stdout sys.stdout = open('trash', 'w') foo() sys.stdout = save_stdout 这种方式的工作,但似乎是非常低效。 必须有更好的方法。 有任何想法吗?

Bash脚本 – 在variables中存储stderr

我正在编写一个脚本来备份数据库。 我有以下行: mysqldump –user=$dbuser –password=$dbpswd \ –host=$host $mysqldb | gzip > $filename 我想把stderr分配给一个variables,这样它会发送一封邮件给我自己,让我知道发生了什么事情,如果出现问题。 我已经find解决schemeredirect标准输出到标准输出,但我不能这样做,标准输出已经被发送(通过gzip)到一个文件。 我怎样才能单独存储stderr在一个variables$结果?

从网站上的PHP脚本运行Java类文件

我有一个网站,并希望能够允许用户在网站上运行服务器上的Java文件。 我希望用户点击一个button,它将在服务器上运行Java文件,而Java程序打印到标准的任何内容都将打印在网站上供用户查看。 如何做到这一点(从PHP调用Java程序,并将标准从Java文件实时返回到PHP网站)? 更新: 感谢有关如何从PHP运行Java程序的答案。 不过,我也希望能够,因为Java程序正在打印到标准输出,它将在执行时打印出大量的文本,以便能够在网页上打印出来,以便用户可以看到什么阶段Java程序正在执行中。 如何做到这一点,它需要任何额外的AJAX或JavaScript或类似的东西?