基本信息
文件名称:Ch06 输入、输出和文件处理.pptx
文件大小:1.94 MB
总页数:36 页
更新时间:2025-06-05
总字数:约1.13万字
文档摘要

本章要点:6.1输入和输出概述6.2命令行参数6.3标准输入和标准输出函数6.4文件和文件对象6.5文本文件的读取和写入6.6CSV格式文件的读取和写入第6章输入、输出和文件处理

本章要点:6.7JSON格式文件的读取和写入6.8随机文件的读取和写入6.9os模块和文件目录操作6.10综合应用:文件数据的统计和分析第6章输入和输出概述

6.1输入和输出概述Python程序通常可以使用下列方式之一实现交互功能:输入输出程序处理图6-1程序的输入和输出示意图(1)命令行参数。(2)标准输入和输出函数。(3)文件输入和输出。(4)图形化用户界面

6.2命令行参数通过列表sys.argv访问命令行参数argv[0]为Python脚本名,argv[1]为第1个参数,argv[2]为第2个参数【例6.1】命令行参数示例(hello_argv.py)。在操作系统命令行界面运行Python程序时,根据所指定的命令行参数,显示输出相应的Hello信息importsysprint(Hello,+sys.argv[1])

命令行参数类型转换按惯例,命令行输入参数argv[1]、argv[2]等为字符串,所以如果希望传入的参数为数值,则需要使用转换函数int()或者float()将字符串转换为适合的类型【例6.2】命令行参数示例(randomseq.py):生成n个随机数,其中,n由程序的第一个命令行参数所确定importsys,randomn=int(sys.argv[1])foriinrange(n):print(random.randrange(0,100))

6.3标准输入和标准输出函数input函数的格式print函数的格式print函数用于打印一行内容,即将多个以分隔符(sep,默认为空格)分隔的值(value,...,以逗号分隔的值),写入到指定文件流(file,默认为控制台sys.stdout)。参数end指定换行符;flush指定是否强制写入到流

【6.3】输入函数和输出函数示例1print(1,2,3)#输出时采用默认分隔符(空格)。输出:123123print(1,2,3,sep=,)#输出时采用逗号(,)分隔符。输出:1,2,31,2,3print(1,2,3,sep=,,end=.\n)#输出时采用逗号分隔符,最后以点结束并换行1,2,3.foriinrange(5):#输出时使用空格代替换行符print(i,end=)01234

【例6.4】输入函数和输出函数示例2(io_test2.py)importdatetimesName=input(请输入您的姓名:)#输入姓名birthyear=int(input(请输入您的出生年份:))#输入出生年份age=datetime.date.today().year-birthyear#根据当前年份和出生年份计算年龄print(您好!{0}。您{1}岁。.format(sName,age))

【例6.5】从控制台读取n个整数并计算其累计和(io_sum.py)n由程序的第一个命令行参数所确定importsysn=int(sys.argv[1])#命令行第一个参数确认所需求和的整数个数ntotal=0#设置求和初始值=0foriinrange(n):number=int(input(请输入整数:))#输入整数total+=number#整数累加print(累计和为:’,total)#输出n个整数累计和

交互式用户输入【例6.6】编写程序(stat.py),输入批量数据(假定当输入-1时,终止输入),统计所输入的数据个数,并求总和以及平均值a=[]#初始化列表x=float(input(请输入一个实数,输入-1终止:))whilex!=-1:a.append(x)#将所输入的实数添加到列表中x=float(input(请输入一个实数,输入-1终止:))print(计数:,len(a))#列表长度即为实数个数print(求和:,sum(a))#列表中各元素求和print(平均值:,sum(a)/len(a))#列表中各元素求平均值

6.4文件和文件对象文件对象和open函