当前位置: 首页 > 面试题库 >

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

唐高卓
2023-03-14
问题内容

是否可以在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视为二进制无缓冲流。

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


 类似资料:
  • 问题内容: 如何使用Go中的函数从标准输入获取整数输入? 如果使用无法完成此操作,那么读取单个整数的最佳方法是什么? 问题答案: http://golang.org/pkg/fmt/#Scanf Go中包含的所有库都有充分的文档记录。 话虽如此,我相信 绝招

  • 本文向大家介绍OCaml 从标准输入读取并打印到标准输出,包括了OCaml 从标准输入读取并打印到标准输出的使用技巧和注意事项,需要的朋友参考一下 示例 我们准备一个包含reverser.ml以下内容的文件: 然后,我们使用以下命令编译程序: 我们通过将数据传递到新的可执行文件进行测试: 该reserver.ml程序以命令式风格编写。虽然命令式样式很好,但是将其与功能翻译进行比较很有趣: 由于引入

  • 问题内容: 我想从命令行读取标准输入,但是在提示我输入之前,我的尝试以结束程序退出而告终。我正在寻找C#中的Console.ReadLine()等效项。 这是我目前拥有的: 问题答案: 我不确定块有什么问题 因为它可以在我的机器上使用。但是,对于下一个块,您需要一个指针,该指针指向要将输入分配给它们的变量。尝试替换为。不要使用,因为它解析内存中已有的字符串,而不是解析来自stdin的字符串。如果您

  • 问题内容: 我有一个应该调用ruby脚本的go程序。 我有一个功能: 我这样调用它: 它适用于大多数情况,除非子进程中有一个或任何类似的操作需要暂停输入。 我已经尝试设置,但是它不等待输入。 我究竟做错了什么? 问题答案: 下面的程序好像你问什么(我几乎等同于你的。我只是改变了到了线。)你在做一些不同的东西?

  • 问题内容: 从标准输入逐行读取的Scala配方是什么?类似于等效的Java代码: 问题答案: 最直接的前瞻性的方式将只使用它的一部分。但是,这很丑陋,因为您需要检查最终的空值: 这太冗长了,您宁可使用它。 我认为将使用更漂亮的方法:

  • 我最近想出了如何在汇编中写入 stdout,但现在无法从 stdin 中读取,并将我读取的内容输出回 stdout。这是我到目前为止的代码: 我很确定我看错了。我很确定和的行为没有达到预期(如果我将 替换为 次),这是导致我的问题的原因(当我输入输入并点击return时,它什么也不显示)。 我已经摸索了一段时间了,希望能得到任何帮助。(我这么做只是为了了解这不是家庭作业)。 我的问题本质上是我做错