python之高级文件

本文深入探讨了Python中高级文件处理的方法,包括如何在文件关闭状态下进行安全的写入操作,以及如何优雅地处理文件错误。通过对文件状态的管理,避免了在文件未关闭时尝试写入导致的错误。
摘要由CSDN通过智能技术生成

创建:文件
fo=open('foo.txt','a+')
 获取文件名:
  print(fo.name)
如图:

  获取它是否关闭:True:是  False:否
 print(fo.closed)
如图:

 获取它是以哪种方式打开:
 print(fo.mode)
如图:

 Close()方法
 File对象的close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
 当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。用close()方法关闭文件是一个很好的习惯。
 关闭状态:
fo.close()
print(fo.closed)
如图:

案例:在关闭之前和关闭之后分别加入‘123456’:
fo=open('foo.txt','a+')
fo.write('123456')
fo.close()
print(fo.closed)
fo.write('123456')
如图:
1.

2.

即:文件状态关闭不能写入,并且报错。


Write()方法 将任何字符串写入一个打开的文件
需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
read()方法从一个打开的文件中读取一个字符串。
需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
fo=open('foo.txt','r+')
fo.write('Python is a great language.\nYeah its great!\n')
 能不能读到foo.txt里面的数据:
txt = fo.read(5)
print('读到的数据:',txt)
如图:

案例: 读取foo.txt里面所有数据,并且报告读取的次数和位置:
fo=open('foo.txt','r+')
txt = fo.read(5)
i=1
while(len(txt)>0):
    print('第'+str(i)+'次读取到的数据:',txt,'当前的位置:',fo.tell())
    i = i+1
    txt = fo.read(5)
fo.close()
print('读取完毕')
如图:

注意:如果出现一大串 数字 即:读到了换行符

seek(offset [,from])
方法改变当前文件的位置。
拿上一个案例来说:
fo=open('foo.txt','r+')
txt = fo.read(5)
i=1
while(len(txt)>0):
    print('第'+str(i)+'次读取到的数据:',txt,'当前的位置:',fo.tell())
    i = i+1
    if(i==5):
        fo.seek(0,0)#设置偏移量 一:偏移几个字节 二:0代表:开始 1代表:当前 2代表:结尾
    txt = fo.read(5)
fo.close()
print('读取完毕')
如图:

"第5次读取到的数据: Pytho 当前的位置: 5" 即:i==5:读到的是’P‘开始

改名字:
hehe=open('gai.txt','a+')#创建
print(hehe.name)
import os #os主要的功能:重命名  复制  移动  删除 创建新目录
# os.rename("gai.txt","chenggong.txt") #修改
# print('修改成功')
如图:

 删除:
 os.remove("chenggong.txt")
 print('删除成功')
如图:


 mkdir()在当前目录下创建新目录:
 os.mkdir('我是新目录')
如图:

 getcwd:查查当前目录 和chdir :更改路径:
 print('当前工作目录:',os.getcwd())
 os.chdir('./我是新目录') #  . :当前路径
 print('当前工作目录:',os.getcwd())
如图:

rmdir 删除目录:
os.rmdir('我是新目录')
print('删除成功')
如图:
1.

2.

  即:在删除这个目录之前,它的所有内容应该先被清除。
 知识延伸:
 os.removedirs(): 删除当前空文件夹  并尝试删除父级空文件夹

完毕!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值