Python 命令 -u 参数作用

简介: Python 命令 -u 参数作用
  • shell 脚本中运行 python 命令时后面加了 -u 参数,例如:python -u xx.py,这个 -u 表示什么?
  • 标准输出:sys.stdout.write()标准错误:sys.stderr.write() 均是向屏幕打印的语句。
    print 语句也就是调用了 sys.stdout.write()print(obj) 实质上调用的是 sys.stdout.write(obj+'\n')print 在打印时会自动加个换行符,以下两行等价:
sys.stdout.write('hello'+'\n')
print 'hello'
  • 举例
import sys
sys.stdout.write("sdo-1 ")
sys.stderr.write("sde-1 ")
sys.stdout.write("sdo-2 ")
sys.stderr.write("sde-2 ")
  • 上面输出 预想 的结果为:sdo-1 sde-1 sdo-2 sde-2
  • 上面输出 实际 的结果为:sde-1 sde-2 sdo-1 sdo-2
  • 原因是 python 缓存机制,虽然 stderrstdout 默认都是指向屏幕的,但是 stderr 是无缓存的,程序往 stderr 输出一个字符,就会在屏幕上显示一个。
  • stdout 是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来。这就是为什么上面的会最先显示两个 stderr 的原因。
  • -u参数的使用
  • 使用:python -u xx.py
  • 有了上面的案例,就可以引出 python-u 参数了,python 命令加上 -u(unbuffered) 参数后会强制其 标准输出 也同 标准错误 一样 不通过缓存 直接打印到屏幕。
  • 再次执行得到的结果:sdo-1 sde-1 sdo-2 sde-2,就变成预期结果了。
  • print 函数的 flush 参数,使用 flush=True 之后,会在 print 结束之后,不管有没有达到条件,立即将内存中的东西显示到屏幕上,清空缓存:
print('dzm', flush=True
  • stdout.flush() 函数也有此效果:
import sys
sys.stdout.write('dzm')
sys.stdout.flush()
相关文章
|
6天前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
3月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
4月前
|
XML JSON 安全
分析参数顺序对Python requests库进行POST请求的影响。
最后,尽管理论上参数顺序对POST请求没影响,但编写代码时仍然建议遵循一定的顺序和规范,比如URL总是放在第一位,随后是data或json,最后是headers,这样可以提高代码的可读性和维护性。在处理复杂的请求时,一致的参数顺序有助于调试和团队协作。
133 9
|
12月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
382 1
思科设备巡检命令Python脚本大集合
|
9月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
245 20
|
10月前
|
分布式计算 MaxCompute 对象存储
|
9月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
298 12
|
12月前
|
Python
Python PDB命令介绍
【10月更文挑战第15天】 使用PDB的方式有两种,其中一种是在脚本中添加代码,不觉得这种方式比print好在哪里,所以这种方式此文不表。这里我们只学习PDB的命令行使用方式
280 4
|
12月前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
342 1
|
12月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
3773 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)

推荐镜像

更多