是否可以在Python 2.6中将stdin读取为二进制数据?如果是这样,怎么办?
我在Python 3.1文档中看到这很简单,但是在2.6中执行此操作的工具似乎并不存在。
如果3.1中描述的方法不可用,是否有办法关闭stdin并以二进制模式重新打开?
更新资料
为了清楚起见,我在MS-DOS外壳程序中使用“类型”将二进制文件的内容传递给我的python代码。据我了解,这应该等效于Unix的“ cat”命令。但是当我进行测试时,我总是比预期的文件大小少一个字节。
更新#2
首先,感谢您的所有回答。在这里,我正在缓慢地寻求一个真实,可用的解决方案。最后,我仍在尝试构建一个自包含的JAR文件,该文件将自动通过所有不受污染的命令行参数来执行我的Python代码。
之所以选择Java / JAR / Jython,是因为我的主要外部库之一只能用作Java JAR。但不幸的是,我已经开始以Python工作。将我的代码转换为Java可能更容易,但是由于这些东西都应该兼容,所以我认为我会尝试通过它并证明它可以完成。
使用-u命令行开关强制Python 2将stdin,stdout和stderr视为二进制无缓冲流。
-u
C:> type mydoc.txt | python.exe -u myscript.py