Python(IT峰)笔记08-文件操作、文件读写,文件操作模式的组合,文件操作的高级写法,设置文件指针的当前位置,文件操作函数

1、文件操作步骤

1、打开文件
2、读写文件
3、关闭文件

写入文件操作:
1、打开文件open()
2、写入内容write()
3、关闭文件close()

读取文件的操作
1、打开文件open()
2、读取内容read()
3、关闭文件close()

2、文件操作的读写

open():打开文件
参数:

  • 1、文件路径

  • 2、打开方式

    w模式:写入,
    a、如果不存在,则创建文件,
    b、如果文件存在,则打开并清空
    c、文件打开后,文件的指针在文件的最前面

    r模式:读取模式:
    a、如果文件不存在,则报错
    b、如果文件存在则打开文件
    c、文件指针在文件的最前面

    x模式:xor异或模式:
    a、如果文件不存在,则创建这个文件
    b、文件已经存在,则报错(防止覆盖)
    c、文件的指针在文件的最前面

    a模式:append追加模式:
    a、文件不存在,则创建文件
    b、文件如果存在,则打开文件(和w模式的区别,a模式打开后不会清空文件)
    c、文件指针在文件的最后面

    扩展模式:
    b b模式,bytes 二进制模式
    + +模式,plus 增强模式(可读可写)

3、字符集:utf-8,如果是二进制不需要设置字符集

w写文件,write()

#w写文件
fp=open('sayhello.txt','w',encoding='utf-8')
#调用write方法写入
fp.write('hello world!')
#关闭文件
fp.close()#创建了sayhello.txt

r:读文件read()

fp=open('sayhello.txt','r',encoding='utf-8')
#调用read方法写入
res=fp.read()
print(res)
#关闭文件
fp.close()
3、文件操作模式的组合

单独写:
w,r,a,x
组合写:
wb,rb、ab、xb
w+,r+,a+、x+
wb+,rb+,ab+,xb+

4、文件操作的高级写法

with open(文件路径,打开模式)as 变量
变量.操作()

以上写法不用写关闭语句

#高级方法进行读和写操作,使用了r+模式
with open('sayhello.txt','r+',encoding='utf-8') as fp:
	res=fp.read()
	print(res)#hello world!
	fp.write(res)#写入后出现不换行hello world!hello world!

r+:可读又可写
w+:可读又可写,打开后是清空文件
a+:可读有可写,追加写,并且可读
x+:异或

5、设置指针当前的位置

seek(number):number为字符偏移数

#设置指针位置
with open('sayhello.txt','r+',encoding='utf-8') as fp:
	fp.seek(10)
	res=fp.read()
	print(res)#d!hello world!
6、文件操作函数

open()打开
write()写入,只能写入字符串
writelines():可以写入容器类型数据,容器中的元素,也必须是字符串类型
read(n)读取,从当前指针位置读取到最后,多字节个数
readline()读取单行
readlines(number)读取多行,每行作为列表的一个元素
close()关闭文件

#设置指针位置
with open('sayhello.txt','r+',encoding='utf-8') as fp:
	# res=fp.readline()#只读取一行
	# print(res)
	# res = fp.read(10)  # 读取的字节长度
	# print(res)
	# res=fp.read()
	res=fp.readlines()#一次读取多行数据,每一行作为一个元素,返回一个列表
	print(res)#['apache安装完默认是不开启虚拟服务器的,\n', '如果希望在本地apache上面配置虚拟服务器,\n', '类似于在网上买的虚拟主机,\n', '可以按照以下步骤进行配置:']

seek()设置文件指针的位置
truncate()截取文件内容

#设置指针位置
with open('sayhello.txt','r+',encoding='utf-8') as fp:
	# fp.seek(33)
	# res=fp.read()
	# print(res)#['apache安装完默认是不开启虚拟服务器的,\n', '如果希望在本地apache上面配置虚拟服务器,\n', '类似于在网上买的虚拟主机,\n', '可以按照以下步骤进行配置:']
	res=fp.truncate(5)#从文件的首行的首个字符开始进行阶段,截断size个字节数,size为0,则截断到最后
	print(res)#文件只剩下5个字符了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值