声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。

作者:sumjess

一、文件的使用:

1、文件的类型:

无论文件创建为文本文件或者二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后的操作不同。

一个文本文件a.txt,其内容为“全国计算机二级---Sumjess”,采用文本方式打开。这里需要将文本文件与python程序文件放在同一个目录中。

f = open("a.txt","rt")
print(f.readline())
f.close()

一个文本文件a.txt,其内容为“全国计算机二级---Sumjess”,采用二进制方式打开。

f = open("a.txt","rb")
print(f.readline())
f.close()

其中\xc8是十六进制数,代表字节11001000。

采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符;采用二进制方式打开文件,文件被解释为字节流。由于存在编码,字符串中的一个字符由多个字节表示。

2、文件的打开和关闭:

Python对文本文件和二进制文件采用统一的操作步骤,即“打开---操作---关闭”。操作系统中的文件默认处于存储状态,首先需要将其打开,使得当前程序有权操作这个文件,打开不存在的文件系统可以创建这个文件。打开后的文件处于占用状态,此时,另一个进程不能操作这个文件。可以通过一组方法读取文件的内容或向文件写入内容,操作之后需要将文件关闭,关闭将释放对文件的控制使文件恢复成存储状态,此时,另一个进程将能够操作这个文件。

相关函数介绍:

(1)<变量名> = open(<文件路径及文件名>,<打开模式>)

open()函数有两个参数:文件名和打开模式。文件名可以是文件的实际名字,也可以是包含完整路径的名字。打开模式用于控制使用何种方式打开文件,open()函数提供7种基本的打开模式:

打开模式使用字符串的方式,表示字符串定义,单引号或者双引号均可。上述打开模式中,‘r’、‘w’、‘x’可以和‘b’、‘t’、‘+’组合使用,形成既表达读写又表达文件模式的方式。打开文件有一些常用组合,使用方法如下:

以文本方式只读打开一个文件,读入后不能对文件进行修改。

<变量名> = open(<文件名>,‘r’)   或   <变量名>open(<文件名>)

以文本方式可读写地打开一个文件,可以读入并修改文件。

<变量名> = open(<文件名>,‘r+’)

以文本方式打开一个空文件,准备写入一些内容,并保存为新文件。

<变量名> = open(<文件名>,‘w’)

以文本方式打开一个空文件或已有文件,追加形式写入一些内容,更新原文件。

<变量名> = open(<文件名>,‘a+’)

以二进制方式只读打开一个文件,读入后不能对文件进行修改。

<变量名> = open(<文件名>,‘rb’)

(2)<变量名> . close()

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

例子:

当文件关闭后,再对文件进行读写将产生I/O操作错误。

3、文件的读写:

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

Python语言常用的文件读取方式,以f代表文件变量。

如果文件不大,可以一次性将文件内容读入,

(1)保存到程序内部变量中。f.read()最常用的一次性读入文件的函数,其结果是一个字符串。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","r")
s = f.read()
print(s)f.close()

(2)f.readlines()也是一次性读入文件的函数,其结果是一个列表,每个元素是一个文件的一行。

'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","r")
s = f.readlines()
print(s)f.close()

(3)文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针奖项前进,再次读取的内容将从指针的新位置开始。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","r")qs = f.read()
print(qs)s = f.readlines()
print(s)f.close()

结合读取指针的理解,上述代码中s返回值为空,因为之前的f.read()方法已经读取了文件全部内容,读取指针在文件末尾,再次调用读取已经无法从当前位置读入内容了,因此返回值为空。

(4)f.seek()方法能够移动读取指针的位置,f.seek(0)将读取指针移动到文件开头。                      f.seek(2)将读取指针移动到文件结尾。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","r")qs = f.read()
print(qs)f.seek(0)s = f.readlines()
print(s)f.close()

写入方法:

f.write(s)向文件写入字符串s,每次写入后,将会记录一个写入指针。该方法可以反复调用,在写入指针后分批写入内容,直至文件被关闭。

'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","w")f.write('Sumjess\n')
f.write('计算机二级\n')
f.write('一直在换行\n')
f.write('23333...\n')
f.close()

使用f.write(s)时,要显式地使用‘\n’对写入文本进行分行,如果不进行分行,每次写入的字符串会被连接起来。

f.writelines(lines)直接将列表类型的各元素连接起来写入文件f。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","w")q=['Sumjess\n','计算机二级\n','一直在换行\n','55555...\n']f.writelines(q)f.close()

上述语句运行后将在D盘目录下覆盖生成文件a.txt,与之前内容相同。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("D:\\a.txt","w")q=['Sumjess','计算机二级','一直在换行','55555...']f.writelines(q)f.close()

二、数据组织的维度:

1、一维数据:

一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中数组的概念。一维数据非常常见,任何表现为序列或集合的内容都可以看作一维数据。

2、二维数据:

二维数据也称表格数据,有关联关系数据构成,采用二维表格方式组织,对应数学中的矩阵,常见的表格都属于二维数据。

3、高维数据:

高维数据由键值对类型的数据构成,采用对象方式组织,可以多层嵌套。

三、一维数据的处理:

1、一维数据的表示:

一维数据是最简单的数据组织类型,由于是线性结构,在python语言中主要采用列表形式表示。采用列表类型表示一维数据的时候需要注意每个数据的数据类型。

2、一维数据的存储:

一维数据的文件存储有多种方式,总体思路是采用特殊字符分隔各数据。常用存储方法包括如下四种:

(1)采用空格分隔元素,例如:

北京 上海 天津 重庆

(2)采用逗号分隔元素,例如:

北京,上海,天津,重庆

(3)采用换行分隔元素,例如:

北京
上海
天津
重庆

(4)采用其他特殊符号元素,例如:

北京;上海;天津;重庆

这4种方法中,逗号分隔的存储格式叫作CSV格式,即逗号分隔最通用的。存储的文件一般采用.csv为扩展名。英文逗号!


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''q=['Sumjess','计算机二级','一直在换行','55555...']f = open("hello.csv","w")f.write(",".join(q)+"\n")f.close()

3、一维数据的处理:

对一维数据进行处理首先需要从CSV格式文件读入一维数据,并将其表示为列表对象。

需要注意,最后一个元素后面有一个换行符(“\n”)。需要采用字符串的strip()方法去掉尾部的换行符,进一步使用split()方法以逗号进行分割。


'''(需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”或“/”代替“\”)'''f = open("hello.csv","r")a=f.read().strip('\n').split(",")f.close()print(a)

由于一维数据的的处理与列表类型操作一致,这里就不在赘述。

四、二维数据的处理:

1、二维数据的表示:

二维数据由多个一维数据构成,可以看作是一维数据的组合形式。因此,二维数据可以采用二维列表来表示,即列表的每个元素对应二维数据的一行,这个元素本身也是列表类型,其内部各元素对应这行中的各列值。

二维数据一般采用相同的数据类型存储数据,便于操作。为求统一,将数值统一表示为字符串形式。

2、二维数据的存储:

二维数据由多个一维数据构成,用CSV格式文件存储。CSV文件的每一行是一维数据,整个CSV文件是一个二维数据。

二维数据存储为CSV格式,需要将二维列表对象写入CSV格式文件以及将CSV格式读入成二维列表对象。

二维列表对象输出为CSV格式文件(采用遍历循环和字符串的join()方法相结合)。

3、二维数据的处理:

对二维数据进行处理首先需要从CSV格式文件读入二维数据,并将其表示为二维列表对象。借鉴一维数据读取方法,从CSV文件读入数据的方法。

二维数据处理等同于二维列表的操作。与一维列表不同,二维列表一般需要借助循环遍历实现对每个数据的处理,基本代码格式如下:

for row in Is :for item in row:<对第row行第item列元素进行处理>

全国计算机等级考试二级教程--python语言程序设计(2018年版)第七章:数据组织的维度相关推荐

  1. 全国计算机等级考试python教材.pdf_全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF...

    全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF 全国计算机等级考试二级教程 Python语言程序设计 (2018年版) [第1章] 程序设计基本方法 考纲考点 n Pyth ...

  2. 全国计算机等级考试二级教程——c++语言程序设计答案,全国计算机等级考试二级教程--C++语言程序设计(2018年版)...

    全国计算机等级考试二级教程--C++语言程序设计(2018年版) 下载 mobi epub pdf ☆☆☆☆☆ 教育部考试中心 著 下载链接在页面底部 发表于2021-05-17 类似图书 点击查看全 ...

  3. 2021c语言教程,全国计算机等级考试二级教程——C语言程序设计(2021年版)

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 出版时间:2020年11月 定 价:36.00 I S B N :9787040545340 所属分类: 考试  >  计算机考试  ...

  4. 全国计算机等级考试二级教程:c语言程序设计(2013年版),全国计算机等级考试二级教程:C语言程序设计(2013年版)...

    全国计算机等级考试二级教程:C语言程序设计(2013年版) <全国计算机等级考试二级教程:C语言程序设计(2013年版)>根据教育部考试中心制订的<全国计算机等级考试二级C语言程序设 ...

  5. python中s和t是两个集合、对s|t描述正确的是_全国计算机等级考试二级教程--python语言程序设计(2018年版)第六章:组合数据类型...

    声明:本篇文章只是个人知识盲区.知识弱点.重点部分的归纳总结,望各位大佬不喜勿喷.梳理顺序是按照书籍的实际顺序梳理,转载请注明出处. 作者:sumjess 一.组合数据类型的基本概念: Python语 ...

  6. c语言基础教程吕答案,全国计算机等级考试二级教程C语言程序设计课后习题答案.docx...

    精品文档 精品文档 PAGE 精品文档 <全国计算机等级考试二级教程--C语言程序设计>课后习题答案 第一章1.1EXE1.2COBJEXE1.3顺序选择循环 第二章一.选择题2.1B2. ...

  7. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第7章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第7章): [7.14] 下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. int fun (int ...

  8. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第8章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第8章): [8.17] 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数. #includ ...

  9. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第9章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第9章): [9.27] 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为0的元素统计字符'0'的个 ...

  10. 全国计算机等级考试二级教程——c语言程序设计》,格式为doc.,《全国计算机等级考试二级教程C语言程序设计》.doc...

    PAGE / NUMPAGES <全国计算机等级考试二级教程--C语言程序设计> 课后题及参考答案 第一章 程序设计基本概念 1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所 ...

最新文章

  1. Android 修改手机hosts域名 (绑定host域名 )
  2. Android平滑图片加载和缓存库Glide使用详解
  3. 操作系统概念学习笔记 16 内存管理(二) 段页
  4. pat 乙级 1027 打印沙漏(C++)
  5. python去掉空白行_python去掉空白行的多种实现代码
  6. js 自己试验 创建对象例子
  7. thinkphp vue后台管理系统模板_careyshop-admin 后台管理模板
  8. 电子签章系统研发总结
  9. python透视表画图_Python Pivot table透视表使用方法解析
  10. 【寒假每日一题2022】acw1934. 贝茜放慢脚步【二路归并】
  11. vagrant up 失败的原因之一
  12. html 字体样式引用,CSS3 关于@font-face引用中文字体解决办法
  13. html页面生成easyui,Easyui 为网页创建边框布局_EasyUI 教程
  14. markdown快速入门之有道云笔记七牛图床与极简图床共舞
  15. proe常用c语言语句,带你轻松搞懂Proe条件语句
  16. NTFS下的USN日志文件
  17. 【自考】马克思主义基本原理概论—容易混淆的点
  18. python语言命名规则-一文轻松掌握python语言命名规范规则
  19. 发电运行技术类毕业论文文献都有哪些?
  20. 修复谷歌拼音输入法已停止运行

热门文章

  1. mysql实现oracle的同义词_Oracle 同义词synonym 学习
  2. CSDN 博客添加无水印图片的方法
  3. 问题:必须使用记录或另一备份以恢复包含系统注册表
  4. 山地车中轴进水表现_解决山地车令人讨厌的中轴异响及其他异响问题
  5. 时间序列的特征工程——针对Hurst指数的Python计算
  6. 一个野生程序员的自我修养
  7. 【软件设计】BDD由内而外采用策略
  8. python改变当前工作目录_在python中更改当前工作目录
  9. 微波雷达感应技术系统,车库智能照明应用,物联网智能化发展
  10. 02-客房预订系统数据库-用户和客房预订数据操作