Python 命令输出重定向有缓存的问题

将 Python 命令的输出重定向到日志文件的时候,发现输出并不会写到日志文件里

原因是 Python 做了缓存,要把缓存去掉,需要加参数 -u

比如

  nohup python -u test.py > test.log 2>&1 &

原文地址:https://www.cnblogs.com/moonlight-lin/p/12239467.html

时间: 2024-10-11 13:27:59

Python 命令输出重定向有缓存的问题的相关文章

DOS下,将命令输出重定向到文件中

D:\Oracle_weblogic\Middleware\wlserver_10.3\server\lib>java -cp weblogic.jar weblogic.Admin -url t3://172.20.32.33:7002 -username weblogic -password weblogic1234 get -p untime > f:/dos.txt

Python print输出重定向到文件和屏幕,超简单

import sys import os class Logger(object): def __init__(self, filename="log.txt"): self.terminal = sys.stdout self.log = open(filename, "a") def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self)

inux C程序中获取shell脚本输出(如获取system命令输出)

转载自 http://blog.csdn.net/hjxhjh/article/details/7909518 1. 前言 Unix 界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个 ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行

linux后台运行&符号、nohup命令、输出重定向等使用方法

列出若干种情形,便于这几个命令及参数的理解: 在命令最后加上&符号,表示让这个进程到后台去执行,这样立刻返回到提示符状态,我们可以接着做下面的事.如:command & 但此时如果这个进程有输出,还是会显示出来,这又会干扰到我们的shell窗口.所以可以考虑把标准输出重定向到某个文件去,如:command >output & 现在清净了.但有时我们会发现后台运行的进程出错了,我们希望把错误信息也保存起来.那就用到了linux中默认定义两个变量:1指标准输出:2指错误输出,所以

python输出重定向

0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与 1> 相同2>&1 意思是把 标准错误输出 重定向到 标准输出.&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中 举例(test.py) python test.py >right 2>&1 &>all 2>error.out 输出会把date执行结果(正确)输出到right:t执行结果(错误)重定向right:所有输出重定

python中得到shell命令输出的方法

python中得到shell命令输出的方法: 1. import subprocess output = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE,shell=True).commun icate() print output[0] 2. import commands return_code, output = commands.getstatusoutput('ls -l') 3. import os process = os.p

输出重定向和多命令顺序执行(记录日志)

1.输出重定向         把应该输出到屏幕的输出,重定向到文件.(即把输出的内容写入文件,而不显示到屏幕上) >      覆盖 >>    追加 ls    >     aa        覆盖到aa(例1) ls    >>   aa        追加到aa(例2) ls    gdlslga    2>>aa            错误信息输出到aa        强调:错误输出,不能有空格(2>>) 2    错误信息(系统犯二了

shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向

shell介绍 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.在计算机硬件之间还有一层东西--系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作.Bash (GNU Bourne-Again Shell) 是许多Linux

Linux中的输出重定向

标准输入输出: 键盘        /dev/stdin        0       标准输入 显示器    /dev/stdout      1       标准输出 显示器    /dev/stderr       2       错误输出 输出重定向 正确输出: 命令 > 文件 以覆盖的形式,把命令的正确输出写入指定文件中 命令 >> 文件 以追加的形式,把命令的正确输出写入指定文件中 错误输出: 命令 2> 文件 以覆盖的形式,把错误信息写入指定文件中 命令 2>&