购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.6 标准输入和输出

shell中执行的程序可以读写数据。当一个程序——类似上面的script.py——输出一些内容的时候,内容会出现在shell中。之前的程序输出了一个字符串“Hello Jenny!”并显示在shell中。shell的屏幕通常被称为标准输出(standard output)。

3.6.1 将输出重定向到文件

之前,我们使用符号>重定向输出,将echo命令的结果写入文件当中。

在shell中尝试如下命令:

这次,script.py程序的结果没有输出到shell的屏幕上,而是被写入了一个新文件greeting.txt中。

使用符号>,我们可以将程序的输出重定向到一个新文件。如果目标文件已经存在,则它将被覆盖。我们还可以使用符号>>将数据附加到现有文件中,而不是创建一个新文件:

这个技术很有用,之后我们将用它来将程序运行的结果写入外部文件。

3.6.2 将输入重定向为文件

与重定向shell的标准输出类似,我们也可以重定向shell的输入。让我们创建一个新的脚本。它不从程序的实参中读取名称,而是让用户输入自己的名称。首先,创建一个新的空文件:

打开文件,输入以下代码:

如果运行这个新脚本,它会提示我们输入名称:

这个程序从标准输入(standard input)——shell——中读取名称。我们必须在shell中写下名称,并按返回键,让程序读取它。我们可以将程序的输入重定向为一个文件,这次是使用符号<。在这种情况下,程序会读取文件的内容,而不是从shell中读取。

让我们在新文件中写入一个名称:

现在,让我们将程序的输入重定向为这个文件:

这一次,当程序提示输入名称时,我们不必输入任何内容,shell会直接读取name.txt文件的内容。

我们将在之后编写的应用程序将会使用输入重定向,将文件内容读取到我们的Python程序中。 lPw8U+/XGvytczaLrLnHB3BsPNwmlBB2CYPRBl4+CQj3xPPC5h/4M1HoW/s6qYXx

点击中间区域
呼出菜单
上一章
目录
下一章
×