(如果你反对将编程和幽默混为一谈,请直接跳到最后一段中的问题)
当 python 程序开始以 base64 编码打印其输出时,我们刚刚遇到了接近 x-files 的体验,而没有被要求这样做。实际上,它不是输出,而是它得到的标准输入的内容。事实上,该程序试图读取标准输入但得到一个空字符串,但标准输入被某些东西神秘地读取并传递给标准输出 base64 编码。
当我们达到这种完全困惑的状态时,有人注意到该目录包含另一个名为base64.py
. 当我们删除它时,行为恢复正常。
我听说这是可能与某些textwrap
python 功能有关的预期行为。我不会告诉你我对这样一个“功能”的看法,但我找不到任何关于它的参考,我很好奇。不是针对文本包装,而是针对未经询问就使用附近发现的程序的现象。
因此,如果有人愿意解释和/或提供一些参考资料,我将不胜感激。
(RHEL 5.7 上的 python 2.6)
编辑:
我不能显示代码,因为真正的代码是专有的,我试图提出的一个例子没有显示这种行为。
问题真的是这样的:
在什么情况下,python 程序可以运行base64.py
在同一目录中找到的另一个程序并将其标准输入传递给它?
EDIT2:
编辑主题以更好地反映上述解决方案
textwrap
只是“红鲱鱼”