为了账号安全,请及时绑定邮箱和手机立即绑定

在程序中使用python(如python -u)中的无缓冲stdout

在程序中使用python(如python -u)中的无缓冲stdout

一只名叫tom的猫 2019-12-27 09:54:32
有什么办法可以在我的代码中获得运行python -u的效果?失败了,我的程序可以检查它是否在-u模式下运行,如果没有则退出并显示错误消息?这是在Linux(Ubuntu 8.10服务器)上
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

您总是可以在shebang行中传递-u参数:


#!/usr/bin/python -u


查看完整回答
反对 回复 2019-12-27
?
慕神8447489

TA贡献1780条经验 获得超1个赞

假设您使用的是Windows:


msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

...在Unix上:


fl = fcntl.fcntl(sys.stdout.fileno(), fcntl.F_GETFL)

fl |= os.O_SYNC

fcntl.fcntl(sys.stdout.fileno(), fcntl.F_SETFL, fl)

(Unix从注释解决方案复制而来,而不是链接。)


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 622 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信