【发布时间】:2013-10-07 11:10:35
【问题描述】:
(如果您反对将编程和幽默混为一谈,请直接跳到最后一段中的问题)
当一个 python 程序开始以 base64 编码打印其输出时,我们刚刚遇到了接近 x-files 的体验,而没有被要求这样做。实际上,它不是输出,而是它得到的标准输入的内容。事实上,程序试图读取标准输入但得到一个空字符串,然而标准输入被什么东西神秘地读取并传递给标准输出 base64 编码。
当我们达到这种完全困惑的状态时,有人注意到该目录包含另一个名为base64.py 的程序。当我们删除它时,行为又恢复了正常。
我听说这是可能与某些textwrap python 功能有关的预期行为。我不会告诉你我对这样一个“功能”的看法,但我找不到任何关于它的参考,我很好奇。不是针对文本换行,而是针对未经询问就使用附近发现的程序的现象。
因此,如果有人愿意解释和/或提供一些参考资料,我将不胜感激。
(RHEL 5.7 上的 python 2.6)
编辑:
我无法显示代码,因为真正的代码是专有的,我尝试提出的示例没有显示这种行为。
问题其实是这样的:
在什么情况下,python 程序可能会运行在同一目录中找到的另一个名为 base64.py 的程序并将其标准输入传递给它?
EDIT2:
编辑主题以更好地反映解决方案
上面的textwrap 只是一个“红鲱鱼”
【问题讨论】:
-
@user2799617:我无法发布真正的代码,因为它是专有产品的一部分,而且与我所要求的现象无关的细节也会让人不知所措。我确实试图捏造一些小例子,但你猜怎么着? - 它没有发生在那里。我不是你知道的菜鸟。但是享受权力,何乐而不为
-
响应暂停:正如我在编辑和评论中所说,我无法发布真实代码,也无法举例说明问题。考虑到它的模糊性,我相信这个问题已经被具体描述了。
标签: python base64 shared-libraries