打开《Python入门与实战》_一步步学会Python_8.4.2 案例解析
149
2023-10-19
【摘要】 本书摘自《Python编程从0到1 视频教学版》一书中第1章,第6节,作者是张頔。
1.6 输入/输出
程序需要从外部获得信息并将计算结果传递出去。本节将介绍最常用的3种与程序传 递信息的方式:标准I/O、 命令行参数和环境变量。
【学习目标】
· 了解I/O重定向的方法;
· 掌握用Python进行标准 I/O 读写的方法;
● 了解传递命令行参数的方法;
· 掌握用Python读取命令行参数;
· 掌握Linux 设置环境变量的方法;
· 掌握用Python读取环境变量的方法。
1.6.1 标准输入/输出 (I/O) 流
原始的输入输出是键盘、磁盘、终端等设备, “流”是对这些输入输出设备的抽象。
本书已经反复使用 print()函数在终端输出信息,本节将会讨论向各种各样的“目的 地”进行输出的方法。 print()函数的默认行为是向标准输出流进行写入操作。在使用终 端启动程序的默认情况下(就像本书一直以来做的一样),标准输出流被关联至终端。 如果程序希望从终端读取数据,最简单的方法是使用input() 函数。该函数从标准输入流读取数据,在终端启动程序时,标准输入流也被关联至终端。
1.6.2 重定向标准 I/O 至文件
程序优先采用标准输入/输出流进行通信的一个重要动机是可以很容易地对其进行重 定向。通过重定向标准输入流,可以在不修改可执行文件的情况下,让程序从文本文件中 获取输入表达式。重定向标准输入流编辑一个文件input.txt包含一行文本:1+2+3+4。然后将文件置于和上一节的 stdio.py 程序相同的目录下,用如下命令运行程序。
重定向标记(>)告诉执行环境,在启动程序时,将标准输出流关联至指定文件 output.txt。可以看到程序不再输出至终端,而是创建 output.txt 文件进行输出。也可以同 时重定向程序的标准输入和标准输出至不同的文件,请读者自行尝试。
【思考和扩展练习】
(1)思考在图1 . 33中,数字0和1有何实际含义。
(2)I/O 重定向是如何实现的。
1.6.3 用管道行串接 I/0
基于标准I/O 工作的程序可以很容易通过管道行 (pipeline)进行串接。这是将程序组 装起来完成更复杂任务的便捷方法。例如,要对如下文本数据(学号姓名成绩)data.txt:011张三 |95
02 |李四199
031王五180
进行两项处理:
· 将用于分隔的竖线替换成逗号;
· 按成绩排序。
UNIX/Linux 的终端环境提供的内建程序tr和 sort 可以分别完成这两个任务。 tr命令 可以根据指定的替换表进行字符替换:
$tr" |""," 01,张三,95 02,李四,99 03,王五,80 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~