【发布时间】:2011-02-20 12:12:42
【问题描述】:
是否可以在 Python 2.6 中将标准输入读取为二进制数据?如果有,怎么做?
我在Python 3.1 documentation 中看到这相当简单,但在 2.6 中执行此操作的工具似乎不存在。
如果3.1中描述的方法不可用,有没有办法关闭stdin并以二进制模式重新打开?
更新
为了清楚起见,我在 MS-DOS shell 中使用“类型”将二进制文件的内容通过管道传输到我的 python 代码。据我了解,这应该相当于 Unix 的“cat”命令。但是当我对此进行测试时,我总是比预期的文件大小少一个字节。
更新 #2
首先,感谢所有的答案。我正在慢慢地努力寻找一个真正可用的解决方案。最后,我仍在尝试构建一个自包含的 JAR 文件,该文件执行我的 Python 代码,自动传递所有未受污染的命令行参数。
我选择 Java/JAR/Jython 路线的原因是因为我的主要外部库之一只能作为 Java JAR 使用。但不幸的是,我是从 Python 开始的。不久前将我的代码转换为 Java 可能更容易,但由于这些东西都应该是兼容的,我想我会尝试通过它来证明它可以完成。
如果有人想知道,这也与我前几天问的问题有关。
Packaging and deploying a Jython program from Eclipse
question 回答了其中的一些问题。
因此,我将尝试更新我的原始问题,并添加一些关于我目前所了解的内容的注释。
【问题讨论】:
标签: python python-2.x