python练习|文件操作

一、文件操作的作用

把一些内容(数据)存储存放起来,可以让程序下一次执行的时候,直接使用,而不必重新制作一根份,省时省力。

二、文件的基本操作

2.1 文件操作步骤

1.打开文件
2.读写等操作
3.关闭文件

注意:可以只打开和关闭文件,不进行任何读写操作。

体验:

# 1. 文件的打开 open()
f = open('test. x', 'w')

# 2. 读写操作 write()  read()
f.write('aaa')

# 3. 关闭 close()
f.close()

2.1.1 打开

在python, 使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下:

open(name, mode)

name: 是要打开的目标文件的字符串(可以包含文件所在的具体路径)。

mode: 设置打开文件的模式(访问模式):只读、写入、追加等。

练习

"""
主访问模式特点
测试目标
1.访问模式对文件的影响
2.访问模式对write()的影响
3.访问模式是否可以省略
"""

# r : 如果文件不存在,报错;不支持写入操作,表示只读
# f = open('test1.txt', 'r')
# f = open('test.txt', 'r')
# # f.close()
# f.write('aa')
# f.close()

# w 只写,如果文件不存在,新建文件;如果执行写入,会覆盖原有内容
# f = open('1.txt', 'w')
# f.write('bbb')
# f.close()

# a 追加  如果文件不存在,新建文件;在原有内容基础上,追加
# f = open('2.txt', 'a')
# f.write('aaa')
# f.close()

# 访问模式参数是否可以省略,可以省略,表示访问模式为r
f = open('1.txt')
f.close()

2.1.1 .1 读取函数–读
  1. read()
文件对象.read(num)

注意:num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中的所有的数据。

f = open('test.txt', 'r')

# 文件内容如果换行,底层有\n,会有字节占位,导致read书写参数读取出来的眼睛看到的个数和参数值不匹配
# read不写参数表示读取所有
print(f.read(10))  # 读取对应10个字节数
f.close()

  1. readlines()
    readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
f = open('test.txt', 'r')

con = f.readlines()
print(con)  # 输出的内容 ['aaaa\n', 'bbbb\n', 'cccc\n', 'dddd\n', 'eeee']
f.close()

  1. readline()
    readline()一次读取一行内容
# 文件名为test.txt的文件中,内容如下
"""
aaaa
bbbb
cccc
dddd
eeee

"""

f = open('test.txt', 'r')
con = f.readline()
print(con)   # aaaa

con = f.readline()
print(con)  # bbbb

con = f.readline()
print(con)  # cccc

f.close()
  1. 访问模式之代码测试

注意:有b的都是二进制格式,带+的,都是可读,可写

访问模式描述
r以只读方式打开文件。文件的指针将会放在文件开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果改文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件结尾。也就是说新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
"""
测试目标
1. r+和w+的区别
2.文件指针对数据读取的影响

"""
# r+: 如果是r+,没有该文件会报错;文件指针在开头,所以能读取出来数据
# f = open('test1.txt', 'r+')  # 无文件,报错
# f = open('test.txt', 'r+')

# w+ 没有该文件会新建文件,文件指针在开头,会用新内容覆盖原内容
# f = open('test1.txt', 'w+')
# f = open('test.txt', 'w+')

# a+:没有该文件会新建文件,文件指针在结尾,无法读取数据(文件指针后面没有数据)
f = open('test.txt', 'a+')
con = f.read()
print(con)
f.close()
2.1.1 .2 seek()

作用:用来移动文件指针
语法如下

文件对象.seek(偏移量, 起始位置)

起始位置:
0:文件开头
1:当前位置
2:文件结尾

"""
语法:文件对象.seek(偏移量, 起始位置)  0开头 1当前 2结尾
目标:
1.r+ 改变文件指针位置;改变读取数据开始位置或把文件指针放结尾(无法读取数据)
2. a 改变文件指针位置,做到可以读取出来数据

"""
# f = open('test.txt', 'r+')

f = open('test.txt', 'a+')

# 改变读取数据开始位置
# f.seek(2, 0)
# f.seek(0, 2)

# 2. a 改变文件指针位置,做到可以读取出来数据
# f.seek(0, 0)
f.seek(0)

con = f.read()
print(con)

f.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值