平日里, 我们常常会运用print以及来开展输入与打印的操作, 那么, print以及究竟是怎样跟标准输入/输出流构建起关系的呢?

其实, 程序的那个标准输入, 还有标准输出, 以及出错流, 是定义在sys模块当中的, 分别是这般的情况哈: sys.stdin,sys.,sys.。

下列的程序也可以用来输入和输出是一样的:

sys

sys..write('!')

print ' enter :',

name=sys.stdin.()

print 'Hi, %s!' % name

那一 sys.stdin, 还有 sys., 究竟会是啥呢? 那我们便是于运行环境之中输入如下这般的代码:

sys

以下是改写后的: 对于 变量f 位于 (系统标准输入内容,系统相关的, 系统相关的) 之中, 执行打印 f 操作。

输出为:

', mode 'r' at 892210>

', mode 'w' at 892270>

', mode 'w at 8922d0>

Python标准输入输出流_python >_sys.stdin sys.stdout sys.stderr

综上所述能够明晰, stdin, 在其中, 无一例外皆是具备文件属性的对象, 它们于启动之际, 会自行与处于Shell环境里的标准输入、实现输出、遭遇出错进行关联。

而程序在Shell里的I/O重定向, 跟本文起始所举的DOS命令的重定向全然一样, 实际上这种重定向是由Shell予以提供的, 和本身没有关联。那么我们可不可以在程序内部把stdin的读写操作重定向到一个内部对象呢? 答案是肯定的。

提供了一个模块来完成这个设想,比如:

from

sys

buff =()

这里的内容好像不完整, 不太能按照要求准确改写。请补充完整准确的句子。

等同于, 是把, 标准的, 输入输出流, 重新定向, 至, buff对象 , #这里就是, 将标准I/O流重定向到buff对象。

print 42, 'hello', 0.001

这里有个赋值操作, sys被赋予temp这个值, 这一行为是为了, 恢复标准I/O流。

print buff.()

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐