在 Python 文档中,我遇到了以下对象的这种方法:
archivo = open('archivo', 'r');
archivo.isatty()
它返回True
/False
文件是否为 tty。我想知道
- 什么是一 .tty 文件?
- tty 文件有什么用?
文件.isatty()
True
如果文件连接到 tty(-like) 设备,则返回,否则返回False
。注意:如果类文件对象与真实文件没有关联,则不应实施此方法。
https://docs.python.org/2/library/stdtypes.html?highlight=file%20flush#file.isatty
该功能
file.isatty
(TTY代表TeleTypewriter ,它是过去用于连接终端的机电电传打字机),告诉您文件是否连接到 TTY 类型的设备。在 Linux 中,您可以使用以下命令找出连接到
STDIN
(标准输入)的文件的名称tty
:该文件
/dev/pts/24
应连接到虚拟设备:实际上,这些文件
/dev/pts/N
是伪终端,即当您从图形界面(例如,使用gnome-terminal
)进行会话时创建的那些。Ctrl如果您使用++ 连接到虚拟终端(全屏使用的终端)Alt,F1您可以看到该命令tty
向您显示了一个不同的文件:该文件
/dev/tty1
还应连接到 TTY 设备:什么是一 .tty 文件?
通常,操作系统会创建一些允许您与物理设备通信的文件,这些文件通常位于文件夹中
/dev
,并以特殊方式处理,因为它们可以访问驱动程序。TTY 文件负责向终端显示信息输入和输出(通过键盘和显示器)。您可以使用以下命令查看它们的列表:TTY 文件有什么用途?
好吧,正如我在第一个问题中提到的,操作系统使用它们来允许您与键盘和显示器等物理设备“对话”。也许这张图片会有所帮助:
参考
tty
它是一个物理终端,带有键盘和屏幕,或者像 XTerm 一样是虚拟的。与普通文件不同,每个 tty 都有“属性”,例如大小(尺寸、宽度和高度)、更改颜色的能力等。在 Unix 和类似的系统(如 Linux)中,每个终端(物理或虚拟)都连接到虚拟文件,它自己的tty
. 它们可以在以下位置找到/dev/
:/dev/tty<N>
它们用于文本控制台,以及/dev/pts/<N>
XTerm 或 Gnome 终端等终端仿真器。一个程序可以发现它对应于一个
stdout
并激活一个特殊模式,例如。例如 在 Linux/Unix 或Windows 中创建一个带有“windows”的交互式界面。stderr
tty
Midnight Commander
FAR Commander
在 Python 中,它可以像这样使用:
此代码写入文本“Hello World!” 使用ANSI 转义序列(英文)以红色显示,如果它只是在 中执行
bash
,但stdout
重定向到文件,它会写入不带特殊字符的文本。也可以向 a 发送一些东西
tty
,tty
它会收到它。write和其他程序使用此功能向用户发送消息。