将输出重定向到文件python时,回车符无法正常工作

马克斯·西格尔(Max Segal)

我有这个简单的代码,其中每个迭代都覆盖前一行的输出:

import time
for i in reversed(range (12)):
    print i, '\r',
    time.sleep(0.2)

当我使用命令运行脚本时:python test.py我看到输出在每次迭代中都按预期替换了自己。但是,当我使用以下命令将输出重定向到文件时:

python test.py >> tmp.txt

我得到一个文件,其中包含12条单独的行中的所有12个数字。

如何在输出文件中获得与从命令行运行脚本相同的最终结果?

我在Windows 10上使用python 2.6.5

让·弗朗索瓦·法布尔(Jean-Francois Fabre)

您不能这样做,因为重定向会将数据附加到文件的末尾。

写的是书面的。

编辑:但是有解决方法。

第一:更改您的python代码

import time,sys

interactive = sys.stdout.isatty()

for i in reversed(range (12)):
    if i==0 or interactive:
        print i, '\r',
    time.sleep(0.2)

重定向到文件时,它将仅打印0如果在没有重定向的情况下运行,它将执行与以前相同的操作。

第二:添加过滤器

如果您运行的是安装了MSYS的Linux或Windows,只需将输出通过管道传递给类似以下命令 cat

python test.py | cat >> tmp.txt

0将回显到文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XDK重定向到模板文件将无法正常工作

来自分类Dev

XDK重定向到模板文件将无法正常工作

来自分类Dev

重定向到文件无法正常工作

来自分类Dev

无法将输出重定向到文件

来自分类Dev

重定向垃圾邮件终端带有回车符的输出

来自分类Dev

无法将Perl脚本的输出重定向到文件

来自分类Dev

无法将crontab -l的输出重定向到文件

来自分类Dev

无法将控制台输出重定向到文件

来自分类Dev

将输出重定向到文件时的奇怪 python 行为(使用 os.system 时)

来自分类Dev

登录时重定向无法正常工作

来自分类Dev

当文件包含回车符时,为什么grep打印出意外的输出?

来自分类Dev

python:如何将文件输出重定向到流

来自分类Dev

将popen输出重定向到python中的文件

来自分类Dev

Frida Python将输出重定向到文件

来自分类Dev

将标准输出重定向到文件

来自分类Dev

将Shell输出重定向到文件

来自分类Dev

将lldb输出重定向到文件

来自分类Dev

将xargs的输出重定向到文件

来自分类Dev

将输出从文件重定向到stdout

来自分类Dev

将Fabric输出重定向到文件

来自分类Dev

将彩色输出重定向到文件

来自分类Dev

将lldb输出重定向到文件

来自分类Dev

将iostat输出重定向到文件

来自分类Dev

将根目录重定向到子目录将无法正常工作

来自分类Dev

当我将一行复制到另一个文件时,为什么vim剥离回车符?

来自分类Dev

Shell脚本中的输出重定向无法完全正常工作

来自分类Dev

Shell脚本中的输出重定向无法完全正常工作

来自分类Dev

使用重写规则将http重定向到https时,AlwaysOn功能无法正常工作

来自分类Dev

将脚本输出重定向到文件时,防止输入输出转义序列

Related 相关文章

热门标签

归档