python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...

注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务

目录

考纲考点

文件的使用: 文件打开、关闭和读写

数据组织的维度:一维数据和二维数据

一维数据的处理:表示、存储和处理

二维数据的处理:表示、存储和处理

采用CSV格式对一二维数据文件的读写

知识导图

1、文件的使用

文件

文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象。文件包括两种类型:文本文件和二进制文件。

文件的类型

文本文件一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。

二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符但特定格式形成的文件,例如,png格式的图片文件、avi格式的视频文件。

二进制文件和文本文件最主要的区别在于是否有统一的字符编码。

无论文件创建为文本文件或者二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后的操作不同。f = open("a.txt","rt") #t表示文本文件方式

print(f.readline())

f.close()

>>>

全国计算机等级考试

注意:在这里如果出现UnicodeDecodeError异常,如下:

Traceback (most recent call last):

File "", line 1, in

print(f.readline())

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 22: illegal multibyte sequence

文本文件a.txt,采用二进制方式打开f = open(“a.txt”,“rb”) #b表示二进制文件方式

print(f.readline())

f.close()

>>>

b'\xc8\xab\xb9\xfa\xbc\xc6\xcb\xe3\xbb\xfa\xb5\xc8\xbc\xb6

\xbf\xbc\xca\xd4'

采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符;采用二进制方式打开文件,文件被解析为字节流。

文件的打开和关闭

Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”

Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法形式如下:

= open(, )

打开模式

含义

'r'

只读模式,如果文件不存在,返回异常FileNotFoundError,默认值

'w'

覆盖写模式,文件不存在则创建,存在则完全覆盖源文件

'x'

创建写模式,文件不存在则创建,存在则返回异常FileExistsError

'a'

追加写模式,文件不存在则创建,存在则在原文件最后追加内容

'b'

二进制文件模式

't'

文本文件模式,默认值

'+'

与r/w/x/a一同使用,在原功能基础上增加同时读写功能打开模式使用字符串方式表示,根据字符串定义,单引号或者双引号均可。上述打开模式中,'r'、'w'、'x'、'b'可以和'b'、't'、'+'组合使用,形成既表达读写又表达文件模式的方式。

文件使用结束后要用close()方法关闭,释放文件的使用授权,语法形式如下:

.close()

新建一个文本文件a.txt,其内容为“全国计算机等级考试”,保存在目录PATH中,假设此时路径PATH是Windows系统的D盘根目录。打开并关闭该文件的操作过程如下。>>>PATH = "D:\\"

>>>f = open(PATH + "a.txt", "rt")

>>>print(f.readline())

国家计算机等级考试

>>>f.close()

>>>print(f.readline())

Traceback (most recent call last):

File "", line 1, in

print(f.readline())

ValueError: I/O operation on closed file.

文件的读写

根据打开方式不同,文件读写也会根据文本文件或二进制打开方式有所不同。

方法

含义

f.read(size=-1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值