小编典典

从标准输入读取二进制数据

python

是否可以在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可能更容易,但是由于这些东西都应该兼容,所以我认为我会尝试通过它并证明它可以完成。


阅读 157

收藏
2020-12-20

共1个答案

小编典典

使用-u命令行开关强制Python
2将stdin,stdout和stderr视为二进制无缓冲流。

C:> type mydoc.txt | python.exe -u myscript.py
2020-12-20