期末作业第七章

第7章文件与数据格式化

学习目标

  1. 了解计算机中文件的类型,数据维度。
  2. 掌握文件的基本操作。
  3. 掌握常见的数据格式。
  4. 熟练管理文件与目录。

文件概述
*意义:*找到计算机中唯一确定的文件。
*组成:*文件路径,文件名主干,文件扩展名。

文件类型
计算机中的文件分为文本文件和二进制文件。
*文本文件:*专门存储文本字符的数据。
*二进制文件:*不能直接使用文字处理程序正常读写,要先了解其结构和序列化规则。

标准文件

  1. stdin(标准输入文件)。标准输入文件对应输入设备,如键盘。
  2. stdout(标准输出设备)。
  3. stderr(标准错误文件)。标准输出文件和标准错误文件对应输出设备,如显示器。
    示例:
import sys
file = sys.stdout
file.write("hello")

文件的基本操作
文件的打开,关闭与读写是文件的基础操作。

打开文件
函数open()用于打开文件。
open(file,mode=‘r’,buffering=-1)
若open()函数调用成功,返回一个文件对象。
若待打开的文件不存在,会抛出异常,并打印错误信息。
file:文件的路径
mode:设置文件打开模式
buffering:设置访问文件缓冲方式
在这里插入图片描述
• 若 open() 函数调用成功,返回一个文件对 象。
示例:

file1 = open('E:\\a.txt')		# 以只读方式打开E盘的文本文件a.txt
file2 = open('b.txt', 'w')		# 以只写方式打开当前目录的文本文件b.txt
file3 = open('c.txt', 'w+')		# 以读/写方式打开文本文件c.txt
file4 = open('d.txt', 'wb+')	# 以读/写方式打开二进制文件d.txt

•若待打开的文件不存在,文件打开失败,程序会抛出异常,并打印错误信息。

关闭文件
可通过close()方法关闭文件,也可以使用with实现文件的自动关闭。
(1)close方法:
close()方法是文件对象的内置方法。
file.close()
(2)with语句
with语句可预定义清理操作,以实现文件的自动关闭。
with open(‘a.txt’)as f:
pass

及时关闭文件的必要性:
(1)计算机中可打开的文件数量是有限
(2)打开的文件占用系统资源
(3)若程序因异常关闭,可能产生数据丢失

文件的读写
读取文件——read()方法
可以指定文件中读取指定字节的数据,其语法格式如下:
read(n=-1)
示例:

with open('file.txt', mode='r') as f:
    print(f.read(2))   						# 读取两个字节的数据
    print(f.read())    						# 读取剩余的全部数据

readline()方法
可以从指定的文件中读取一行数据,其语法格式如下:
readline()
示例:

with open('file.txt', mode='r', encoding='utf-8') as f:
    print(f.readline())
    print(f.readline())

readlines()方法
可以一次读取文件中的所有数据,读取成功返回列表,文件中每一行对应列表中的一个元素,格式如下:
readlines(hint=-1)
·参数hint单位为字节,用于控制读取的行数。
·如果行中数据总大小超过hint字节,readlines不会读取更多的行。

写文件——write()方法
此方法可将指定字符串写入文件,语法格式如下:write(data)
·data表示要写入文件的数据,若写入成功,会返回本次写入文件的数据和字节数。
示例:

string = "Here we are all, by day; by night."		# 字符串
with open('write_file.txt', mode='w', encoding='utf-8') as f:	
    size = f.write(string)					# 写入字符串
    print(size)						# 打印字节数

writelines()方法
此方法用于将行列表写入文件,语法格式如下:writelines(lines)
·lines表示要写入文件的数据,可以是一个字符也可以是字符串。
·若写入文件的数据在文件中需要换行,需要显示指定换行符。
示例:

string = "Here we are all, by day;\nby night we're hurl'd By dreams, 
each one into a several world."
with open('write_file.txt', mode='w', encoding='utf-8') as f:
    f.writelines(string)

文件的定位读写
文件读写默认值为0,即在文件首部。
Python提供一些修改文件读写位置的方法。
·tell()。获取文件当前的读写位置。
·seek()。控制文件的读写位置。

tell()方法
用于获取文件当前的读写位置。格式如下:
with open(‘file.txt’)as f:

seek()方法
可控制文件的读写位置,实现文件随机读写。格式如下:seek(offset,from)

with open('file.txt') as f:
    print(f.tell())					# 获取文件读写位置
    print(f.read(5))				# 利用read()方法移动文件读写位置
    print(f.tell())					# 再次获取文件读写位置

offset:偏移量,即需要移动的字节数。
from:指定读写位置,取值为0,1,2。
*seek()方法调用成功后会返回当前读写位置。
*seek()只允许文本文件相对于开头移动文件位置,若在参数from值为1,2的情况下对文本文件位移操作就会报错,如果要对当前读写位置或文件末尾进行位移,需以二进制形式打开文件。

文件与目录管理
管理文件与目录

  1. 删除文件——os.remove(文件名)
  2. 文件重命名——os.rename(原文件名,新文件名)
  3. 创建/删除目录——os.mkdir(目录名)/os.rmdir(目录名)
  4. 获取当前目录——os.getcwd()
  5. 更改默认目录——os.chdir(路径名)
  6. 获取目录列表——os.listdir(目录/路径)

数据维度与数据格式化
基于维度的数据分类
一维数据:具有对等关系的一组线性数据,如
·一维列表
·一维元组
·集合

二维数据:二维数据关联参数的数量为2,如
·矩阵
·二维数
·二维列
·二维元组

多维元组:利用键值对等简单的二元关系展示数据间的复杂结构,如
·字典

一二维数据的存储与读写
1.数据存储
二维数据可视为多条一维数据,只有一个元素的二维数据就是一维数据。
CSV是国际通用的一二维数据存储格式。

CSV格式规范:

  1. 以纯文本形式存储表格数据。
  2. 文件的每一行对应表格中的一条数据记录.
  3. 每条记录由一个或多个字段组成。
  4. 字段之间使用逗号分隔。

数据读取
CSV文件后缀名为.csv,可通过officeExcel或记事本打开。
Python在程序中读取.csv文件后会以二维列表形式存储其中的内容。
数据写入
将一二维数据写入文件中,即按照数据的组织形式,在文件中添加新的数据。

多维数据的格式化
·数据存储在键值对(key:value)
·数值的字段由逗号分隔
·一个花括号保存一个json对象
·一个方括号保存一个数组

dumps()函数
使用这个函数对Python对象进行转码。
loads()函数
将josn数据转换为符合Python语法要求的数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值