python库临时创建stderr/stdout

tee的Python项目详细描述


Build StatusPyPI version

python库将stderr/stdout转换为文件

安装

pip install tee

快速启动

tee_test.py

importsysfromteeimportStdoutTee,StderrTeewithStdoutTee("mystdout.txt"),StderrTee("mystderr.txt"):sys.stdout.write("[stdout] hello\n")sys.stderr.write("[stderr] hello\n")sys.stdout.write("[stdout] world\n")sys.stderr.write("[stderr] world\n")sys.stdout.write("[stdout] not going to be written to file\n")sys.stderr.write("[stderr] not going to be written to file\n")
$ python tee_test.py

[stdout] hello
[stderr] hello
[stdout] world
[stderr] world
[stdout] not going to be written to file
[stderr] not going to be written to file

$ cat mystdout.txt
[stdout] hello
[stdout] world

$ cat mystderr.txt
[stderr] hello
[stderr] world

过滤器

stdoutte和stderrtee将过滤器作为之前运行的参数 写入文件或流。这些过滤器是可调用的 要作为输入写入并返回None或New的消息 信息。

当你想写彩色输出时,我发现它们特别有用。 到流,但在向 文件,尤其是在使用结构时。

importreimportteefromfabric.apiimportrundef_remove_control_chars(message):returnre.sub(r'(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]',"",message)defecho_color():withtee.StdoutTee("fabout.txt",mode="a",file_filters=[_remove_control_chars]):run("""echo -e "\E[1;32mHello World \E[4;31mLets add some\E[0m\E[1;34m color" && tput sgr0""")
fab -H localhost echo_color

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript生成两点之间的固定纬度和经度   java为什么不删除并重命名文件?   求数组的和   java在漂亮面孔中使用正则表达式   SOAP(java)中的Hello World。如何修复它?   java I获取应用程序生成错误,配置为“”的资源“attr/arc_position”的值重复   云基础环境中的Java SFTP客户端应用   谷歌应用程序引擎Java查询日期不正常?   java使用cancel按钮对JOptionPane InputDialog循环进行转义   java数字格式总是返回异常   xquery Java Saxon API以“追加”模式写入文件   java Azure函数在第二个插槽中没有响应   java在构建Play应用程序后向其添加动态依赖项   json如何使用Jackson mapper for java。木卫一。可序列化类型字段?