python文件与数据格式化

【一】文件概述

1.文件标识

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

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

2.文件类型(文本文件 ,二进制文件)

文本文件:专门存储文本字符数据。

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

3.标准文件(stdin(标准输入文件, stdout(标准输出文件), stderr(标准错误文件))

【二】文件的基本操作

1.文件的打开(open)和关闭(close)

打开模式

名称

描述

r/rb

只读模式

以只读的形式打开文本文件/二进制文件,若文件不存在或无法找到,文件打开失败

w/wb

只写模式

以只写的形式打开文本文件/二进制文件,若文件已存在,则重写文件,否则创建新文件

a/ab

追加模式

以只写的形式打开文本文件/二进制文件,只允许在该文件末尾追加数据,若文件不存在,则创建新文件

r+/rb+

读取(更新)模式

以读/写的形式打开文本文件/二进制文件,若文件不存在,文件打开失败

w+/wb+

写入(更新)模式

以读/写的形式打开文本文件/二进制文件,若文件已存在,则重写文件

a+/ab+

追加(更新)模式

以读/写的形式打开文本/二进制文件,只允许在文件末尾添加数据,若文件不存在,则创建新文件

2.文件的读取

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

1/read

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

with open('file.txt', mode='r') as f:    

print(f.read(2))                           # 读取两个字节的数据    

print(f.read())

2/readline()

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

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

print(f.readline())    

print(f.readline())

3/readlines()

readlines()方法可以一次读取文件中的所有数据,若读取成功,该方法会返回一个列表,文件中的每一行对应列表中的一个元素

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

print(f.readlines())

4//注意

read()(参数缺省时)和readlines()方法都可一次读取文件中的全部数据 但因为计算机的内存是有限的,若文件较大,read()和readlines()的一次读取便会耗尽系统内存,所以这两种操作都不够安全。 为了保证读取安全,通常多次调用read()方法,每次读取size字节的数据

3.文件的写入

1/write()

方法可以将指定字符串写入文件,其语法格式如下: write(data)以上格式中的参数data表示要写入文件的数据,若数据写入成功,write()方法会返回本次写入文件的数据的字节数

 2/writelines(line)

以上格式中的参数lines表示要写入文件中的数据,该参数可以是一个字符串或者字符串列表。 若写入文件的数据在文件中需要换行,需要显式指定换行符

4.字符与编码

编码方式

语言

字符数

字节数

ASCII

中文

1

2

英文

1

1

UTF-8

中文

1

3

英文

1

1

Unicode

中文

1

2

英文

1

2

GBK

中文

1

2

英文

1

1

【三】文件的定位读写(tell() seek())

1.tell()

tell()方法用于获取文件当前的读写位置

with open('file.txt') as f:    

print(f.tell())                    # 获取文件读写位置    

print(f.read(5))                # 利用read()方法移动文件读写位置    

print(f.tell())

2.seek()

使用该方法可控制文件的读写位置,实现文件的随机读写

with open('file.txt') as f:    

print(f.tell())                    # 获取文件读写位置    

print(f.read(5))                # 利用read()方法移动文件读写位置    

print(f.tell())

1//注意

在Python3中,若打开的是文本文件,那么seek()方法只允许相对于文件开头移动文件位置,若在参数from值为1、2的情况下对文本文件进行位移操作,将会产生错误

【四】文件的目录管理

os模块中定义了与文件操作相关的函数,利用这些函数可以实现删除文件、文件重命名、创建/删除目录、获取当前目录、更改默认目录与获取目录列表等操作

1.管理文件

删除文件——os.remove(文件名)

文件重命名——os.rename(原文件名,新文件名)

创建/删除目录——os.mkdir(目录名)/os.rmdir(目录名)

获取当前目录——os.getcwd()

更改默认目录——os.chdir(路径名)

获取目录列表——os.listdir(目录/路径)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值