模块7文件与数据格式

本文介绍了Python中文件的基本操作,包括文件概述、文件类型、打开与关闭文件、读写文件,以及文件目录管理和数据格式化。重点讲解了文本文件和二进制文件的区别,以及如何使用read(), readline(), write()等方法进行数据读写。同时,讨论了数据的维度概念,从一维到多维数据的组织,并提到了JSON作为高维数据的常见格式。" 97838576,8669498,Quartus时序约束与TimeQuest Timing Analyzer使用教程,"['数字电路', 'FPGA设计', '时序优化', 'Quartus工具', 'PLL配置']
摘要由CSDN通过智能技术生成

7.1文件概述

7.1.1文件标识

意义:找到计算机中唯一确定文件

 组成:文件路径、文件名主干、文件扩展名

操作系统以文件为单位对数据进行管理

eg:

7.1.2文件类型

根据数据的逻辑存储结构,分为文本文件二进制文件

文本文件门存储文本字符数据

二进制文件不能直接使用文字处理程序正常读写,必须先了解其结构和序列化规则,再设计正确的反序列化规则,才能正确获取文件信

标准文件

eg:

import sys
file = sys.stdout
file.write("hello")

7.2文件的基本操作

打开、关闭、读写

1打开文件

 内置函数open()用于打开文件,该方法的声明如下:

open(file, mode='r', buffering=-1)

2.关闭文件

Python可通过close()方法关闭文件,也可以使用with语句实现文件的自动关闭。

1close()方法

file.close()

(2)with语句

with句可预定义清理操作,以实现文件的自动关闭。

with open('a.txt') as f:
        pass

及时关闭文件的意义:

1.计算机中可打开的文件数量是有限

2.打开的文件占用系统资

3.若程序因异常关闭,可能产生数据丢

7.2文件读写

Python提供了一系列读写文件的方法,包括读取文件的read()readline()readlines()方法和写文件的write()writelines()方法。

 1读取文件——read()方法

read()方法可以从指定文件中读取指定字节的数据,其语法格式如下:

read(n=-1)

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

readline()方法

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

readline()

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

 

 

with open('file.txt', mode='r', encoding='utf-8') as f:
    print(f.readlines())                       #使用readlines()方法读取数据

2.写文件——write()方法

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()方法 

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)

 3.定位读写

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

 

 

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

 7.3文件目录管理

7.5 数据维度与数据格式化

维度:从广义上讲,维度是与事物“有联系”的概念的数量,根据“有联系”的概念的数量,事物可分为不同维度。

根据组织数据时与数据有联系的参数的数量,数据可分为一维数据、二维数据和多维数据。

      一维数据:具有对等关系的一组线性数据,如:一维列表、一维元组、集合

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

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

一二维数据读写

 1.数据存储

2.数据读取

csv_file = open('score.csv')
lines = []
for line in csv_file:
		line = line.replace('\n','')
		lines.append(line.split(','))
print(lines)
csv_file.close()

 3多维数据格式化

为了直观地表示多维数据,也为了便于组织和操作,三维及以上的多维数据统一采用键值对的形式进行格式化。

网络平台上传递的数据大多是高维数据,JSON是网络中常见的高维数据格式。JSON格式的数据遵循以下语法规则:

1.写一个修改文件的程序,要求是原来的内容不能被覆盖,修改之后字符之间的空格不能变化(4个空格)

例题

生成100MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B
01-AF-3B
01-AF-3B-xx
01-AF-3B-xx-xx
01-AF-3B-xx-xx-xx

3. """

当前目录下有一个文件名为 a.txt 的文本文件,存放着某班学生的计算机课成绩,共有学号、平时成绩、期末成绩三列。
请根据平时成绩占 40%,期末成绩占 60%的比例计算总评成绩(取整数) ,并分学号、总评成绩两列写入另一文件 score2.txt 
同时在屏幕上输出学生总人数, 按总评成绩计 90 以上、80897079606960 分以下各成绩档的人数 和班级总平均分(取整数)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值