为什么将stdin提供给subprocess.Popen会导致写入stdout的内容发生变化?

为什么将stdin提供给subprocess.Popen会导致写入stdout的内容发生变化?,第1张

为什么将stdin提供给subprocess.Popen会导致写入stdout的内容发生变化?

我想我在某个地方(但不记得在哪里)读到Windows ftp客户端来自原始BSD实现之一。这样肯定会与Mac OS X的ftp实现共享一些关系。

对我而言,这与Popen无关,而与客户端ftp程序实现有关,后者使用isatty(3)作为启动程序的启动上下文进行检查(以查看它是与人类脚本还是与Shell脚本交互)。在回答中提到了伊格纳西奥。对于可以在两种情况下使用的程序,这都是惯例。一个著名的示例是
–color = auto选项的GNU
grep实现:仅当stdout是tty时,它才会着色输出,而如果grep的输出通过管道传递到另一个命令中,则不会着色。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存