python基础知识-文件操作

这篇博客介绍了Python中的文件操作,包括以不同模式打开文件,如只读、清空写入、追加、创建新文件,以及二进制模式的读写。还涉及到文件指针的移动与位置获取,以及如何使用`with`语句安全地关闭文件和同时操作多个文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件操作:

1.打开文件:

  只读:

  open('nn','r',encoding = 'utf-8')

  

  清空内容写文件:

  open('nn',w,encoding = 'utf-8')


   文件存在报错,不存在,创建并写文件

   open('nn','x',encoding = 'utf-8')

  

  追加:

  open('nn','a',encoding = 'utf-8')


  若打开方式带‘b’,则以二进制形式字节读.(适用于跨平台)

  open('nn','rb')

 

 以b形式打开文件,将字符串“你好”以“utf-8”编码方式追加到文件“nn”,并将字符串转换为字节形式,以二进制写入nn

  eg:

  f = open('nn','ab')

  f.write(bytes("你好",encoding = 'utf-8'))

  f.close()


 读写方式:r+,a+,w+,x+:

  eg:

  f = open('nn','r+',encoding = 'utf-8')

 data = f.read()

 print(data)

 f.write("abcdefg")

 f.close()

带+为可读写:
a+无论怎样调节指针位置,写时永远在最后位置
w+要先清空
常用r+

seek()指针移动,只按字节移动

tell()获取当前指针位置

eg:

f = open('nn','r+',encoding = 'utf-8') 如果打开方式无b,则按字符读,如果有b,则按字节读

data = f.read(1)  如果打开方式是r+b,则读取1个字节;如果无b,则读取1个字符

print(data) 

print(f.tell()) 获取当前指针位置,为字节位置

f.seek(1) 移动一个字节位置

f.write("abcdefg") 从当前指针位置开始向后覆盖写入

f.close()


2.文件操作:

read()无参数,读全部;有参有b按字节,无b按字符
tell()获取当前指针位置(按字节)
seek(位置)指针跳转到指定位置(按字节)
write()写数据,有b字节,无b字符
fileno()文件描述符
flush()将缓冲区的数据强刷到硬盘
readable()判断是否可读
readline()仅读取一行
truncate()截断数据,保留指针位置前的数据,指针位置后的数据清,一般配合seek()使用
for循环文件句柄,循环每一行读取数据(常用):
for line in f:
print(line)

3.关闭文件:

close()关闭文件;


 操作完自动关闭 

   with open('xxxx') as f:

          pass


  同时打开两个文件

  with open("abc") as f1,open("def") as f2

          pass

eg:

with open("abc","r",encoding = "utf-8") as f1,with open("def","w",encoding = "utf-8") as f2:

        for line in f1:

                newline = line.replace("jiang","chen")

                f2.write(newline)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值