栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

linux中python运行程序,保存终端中的输出

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux中python运行程序,保存终端中的输出

1. 方式一,程序中添加

在运行程序前添加如下代码:

import sys

class Logger(object):
    def __init__(self, logFile ="Default.log"):
        self.terminal = sys.stdout
        self.log = open(logFile,'a')
 
    def write(self,message):
        self.terminal.write(message)
        self.log.write(message)
 
    def flush(self):
        pass
 
sys.stdout = Logger("log.log") 

2. 方式二, 命令行方式(推荐)
nohup python -u test.py > test.log 2>&1 &

参数解释:

  1. “nohup” 表示程序不被挂起 ( 可选)
  2. “python”表示执行python代码
  3. “-u”表示不启用缓存,实时输出打印信息到日志文件,建议使用(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
  4. “test.py”表示python的源代码文件
  5. “>”表示将打印信息重定向到日志文件
  6. “test.log”表示输出的日志文件
  7. “2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
  8. 最后一个“&”表示后台运行程序
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923632.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号